在本節中,我們將討論如何透過建立和編輯組態檔案來手動配置已安裝的 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 節點的機器執行此操作。
一旦您啟動了一個 mysqld 程序,並且 my.cnf
檔案的 [mysqld]
和 [mysql_cluster]
區段中包含 ndbcluster
和 ndb-connectstring
參數 (如先前所示),您就無法在尚未實際啟動叢集的情況下執行任何 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。但是,叢集可以自動從已釋放的埠中分配資料節點的埠。