16.3 MySQL Cluster配置詳細介紹(config.ini)
在MySQL Cluster環境的設定檔config.ini裡面,每一類節點都有兩個(或以上)的相應配置項組,每一類節點的配置項都主要由兩部分組成,一部分是同類所有節點相同的配置項組,在[NDB_MGM DEFAULT]、[NDBD DEFAULT]和[MySQLD DEFAULT]這三個配置組裡面,而且每一個配置組只出現一次;而另外一部分則是針對每一個節點專屬配置內容的配置項組[NDB_MGM]、[NDBD]和[MySQLD],由於這三類配置組中配置的每一個節點專屬的個人化配置,所以每一個配置組都可能會出現多次(每一個節點一次)。下面是每一類節點的各種配置說明:
1、管理節點相關配置
在整個MySQL Cluster環境中,管理節點相關的配置為[NDBD_MGM DEFAULT]和[NDB_MGMD]相關的兩組:
1) [NDB_MGMD DEFAULT]中各管理節點的共用配置項:
PortNumber:組態管理節點的服務端程式(ndb_mgmd)監聽用戶端(ndb_mgm)串連請求和發送的指令,從文檔上可以尋找到,預設連接埠是1186連接埠。一般來說這一項不需要更改,當然如果是為了在同一台主機上面啟動多個管理節點的話,肯定需要將兩個管理節點啟動不同的監聽連接埠;
LogDestination:組態管理節點上面的clusterTlog方式。
a) 可以寫入檔案如:LogDestination=FILE:filename=my-cluster.log,maxsize=500000,maxfiles=4;
b) 也可以通過標準輸出來列印出來如:LogDestination=CONSOLE;
c) 還可以計入syslog裡面如:LogDestination=SYSLOG:facility=syslog;
d) 甚至多種方式共存:LogDestination=CONSOLE;SYSLOG:facility=syslog;FILE:filename=/var/log/cluster-log
Datadir:設定用於管理節點存放檔案輸出的位置。如process檔案(.pid),cluster log檔案(當LogDestination有FILE處理方式存在時候)。
ArbitrationRank:配置各節點在處理某些事件出現分歧的時候的層級。有0,1,2三個值可以選擇。
a) 0代表本節點完全聽其他節點的,不參與決策
b) 1代表本節點有最高優先權,“一切由我來決策”
c) 2代表本節點參與決策,但是優先權較1低,但是比0高
ArbitrationRank參數不僅僅管理節點有,MySQL節點也有。而且一般來說,所有的管理節點一般都應該設定成1,所有SQL節點都設定成2。
2) [NDB_MGMD]是每個管理節點配置一組,所需配置項如下(下面的參數只能設定在[NDB_MGMD]參數組中):
Id:為節點指定一個唯一的ID號,要求在整個Cluster環境中唯一;
Hostname:配置該節點的IP地址或者主機名稱,如果是主機名稱,則該主機名稱必須要在設定檔所在的節點的/etc/hosts檔案中存在,而且綁定的IP是準確的。
上面[NDB_MGMD DEFAULT]裡面的所有參數項,都可以設定在下面的[NDB_MGMD]參數組裡面,但是Id和Hostname兩個參數只能設定在[NDB_MGMD]裡面,而不能設定在[NDB_MGMD DEFAULT]裡面,因為這兩個參數項針對每一個節點都是不相同的內容。