在本節中,我們將討論透過建立和編輯組態檔來手動設定已安裝的 NDB Cluster。
對於我們的四節點、四主機 NDB Cluster(請參閱叢集節點和主機電腦),有必要撰寫四個組態檔,每個節點主機一個。
每個資料節點或 SQL 節點都需要一個
my.cnf
檔案,該檔案提供兩項資訊:一個 連線字串,告訴節點在哪裡找到管理節點;以及一行告訴此主機上的 MySQL 伺服器(託管資料節點的機器)啟用NDBCLUSTER
儲存引擎。如需有關連線字串的詳細資訊,請參閱第 25.4.3.3 節「NDB Cluster 連線字串」。
管理節點需要一個
config.ini
檔案,告訴它要維護多少個片段複本、要在每個資料節點上為資料和索引分配多少記憶體、在哪裡找到資料節點、在哪裡將資料儲存到每個資料節點上的磁碟,以及在哪裡找到任何 SQL 節點。
設定資料節點和 SQL 節點。 資料節點所需的 my.cnf
檔案相當簡單。組態檔應位於 /etc
目錄中,並且可以使用任何文字編輯器進行編輯。(如果檔案不存在,請建立檔案。)例如
$> vi /etc/my.cnf
我們在此顯示使用 vi 來建立檔案,但任何文字編輯器都應該可以正常運作。
對於我們範例設定中的每個資料節點和 SQL 節點,my.cnf
應該如下所示
[mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
[mysql_cluster]
# Options for NDB Cluster processes:
ndb-connectstring=198.51.100.10 # location of management server
輸入上述資訊後,儲存此檔案並退出文字編輯器。針對託管資料節點 「A」、資料節點 「B」 和 SQL 節點的機器執行此操作。
一旦您使用先前所示的 my.cnf
檔案的 [mysqld]
和 [mysql_cluster]
區段中的 ndbcluster
和 ndb-connectstring
參數啟動 mysqld 程序後,您就無法在未實際啟動叢集的情況下執行任何 CREATE TABLE
或 ALTER TABLE
陳述式。否則,這些陳述式會失敗並出現錯誤。這是經過設計的。
設定管理節點。 設定管理節點的第一步是建立可以找到組態檔的目錄,然後建立檔案本身。例如(以 root
身份執行)
$> mkdir /var/lib/mysql-cluster
$> cd /var/lib/mysql-cluster
$> vi config.ini
對於我們的代表性設定,config.ini
檔案應如下所示
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of fragment replicas
DataMemory=98M # How much memory to allocate for data storage
[ndb_mgmd]
# Management process options:
HostName=198.51.100.10 # Hostname or IP address of management node
DataDir=/var/lib/mysql-cluster # Directory for management node log files
[ndbd]
# Options for data node "A":
# (one [ndbd] section per data node)
HostName=198.51.100.30 # Hostname or IP address
NodeId=2 # Node ID for this data node
DataDir=/usr/local/mysql/data # Directory for this data node's data files
[ndbd]
# Options for data node "B":
HostName=198.51.100.40 # Hostname or IP address
NodeId=3 # Node ID for this data node
DataDir=/usr/local/mysql/data # Directory for this data node's data files
[mysqld]
# SQL node options:
HostName=198.51.100.20 # Hostname or IP address
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
可以從 https://mysqldev.dev.org.tw/doc/index-other.html 下載 world
資料庫。
建立所有組態檔並指定這些最少選項後,您就可以繼續啟動叢集並驗證所有程序是否正在執行。我們在第 25.3.4 節「NDB Cluster 的初始啟動」中討論如何執行此操作。
如需有關可用 NDB Cluster 組態參數及其用法的詳細資訊,請參閱第 25.4.3 節「NDB Cluster 組態檔」和第 25.4 節「NDB Cluster 的設定」。如需有關與備份相關的 NDB Cluster 設定,請參閱第 25.6.8.3 節「NDB Cluster 備份的設定」。
叢集管理節點的預設連接埠為 1186;資料節點的預設連接埠為 2202。但是,叢集可以從已空閒的連接埠自動分配資料節點的連接埠。