1、單管理節點MySQL集羣和多管理節點MySQL集羣
上一篇的博客中,我們搭建的MySQL集羣架構中,只存在一個管理節點,這樣搭建的集羣可以用如下所示的結構表示。
仔細分析上圖就會發現,上圖所示的單管理節點MySQL集羣存在當唯一的管理節點由於網絡、斷電、壓力過大等各種原因宕機後,數據節點和SQL節點將會各自爲戰,成爲一盤散沙。這樣搭建的MySQL集羣可用性較低,所以我們要將單管理節點集羣改變成如下圖所示的多管理節點集羣。
在上圖的多管理節點MySQL集羣中,由於管理節點存在多個,所以當其中的某一個管理節點出現宕機之後,其他的管理節點自動接過MySQL集羣的管理權限,保證MySQL集羣的正常運行。
2、多管理節點MySQL集羣配置
多管理節點MySQL的配置非常簡單,僅需要修改之前的博文中提高的三種節點的三個地方。1)修改管理節點配置
打開管理節點C:\mysql\bin下的config.ini文件,將其中ndb_mgmd的相關配置修改爲如下內容:[ndb_mgmd]
# Management process options:
# Hostname or IP address of management node
HostName=192.168.24.16
# Directory for management node log files
DataDir=C:/mysql/bin/cluster-logs
[ndb_mgmd]
# Management process options:
# Hostname or IP address of management node
HostName=192.168.24.43
# Directory for management node log files
DataDir=C:/mysql/bin/cluster-logs
即修改之後的config.ini存在多個ndb_mgmd管理節點的相關配置。2)修改數據節點配置
打開數據節點C:\mysqlcluster\datanode\mysql下的my.ini文件,將其中mysql_cluster的相關配置修改爲如下內容:[mysql_cluster]
# Optionsfor data node process:
#location of management server
ndb-connectstring=192.168.24.16,192.168.24.43
即修改之後的mysql_cluster節點下的ndb-connectstring對應多個管理節點的IP地址。(如果管理節點修改了服務端口號,則需要添加相應的端口號,例如:192.168.24.16:3306,192.168.24.43:3306)3)修改SQL節點配置
與修改數據節點類似,修改SQL節點配置需要打開C:\mysqlcluster\sqlnode\mysql下的my.ini文件,將其中mysqld的相關配置修改爲如下內容:[mysqld]
# Options for mysqld process:
# run NDB storage engine
ndbcluster
# location of management server
ndb-connectstring=192.168.24.16,192.168.24.43
即修改之後的mysqld節點下的ndb-connectstring對應多個管理節點的IP地址。3、多管理節點MySQL集羣配置啓動和測試
多管理節點MySQL集羣的啓動和測試與單管理節點MySQL集羣的啓動和測試沒有區別,可以參考上一篇文章中的相關介紹。需要注意的是在啓動MySQL集羣的時候,除第一個啓動的管理節點以外,其他管理節點會出現如下圖所示的警告:以上警告的意思是節點1和3,2和4的arbitrator在一臺主機上,可能引起整個集羣失敗,這個警告可以不用放在心上繼續操作即可。
到目前爲止,咱們的多管理節點的MySQL集羣就搭建完畢了,這樣的集羣的在正常情況下可以滿足一般需求,但並不是說它就真的無懈可擊,它從架構和實用度來講還可以進行更多的優化和完善,具體都有哪些可以優化和完善的地方呢?敬請期待接下來的文章!