項目進階 之 集羣環境搭建(三)多管理節點MySQL集羣

        上次的博文項目進階 之 集羣環境搭建(二)MySQL集羣中,我們搭建了一個基礎的MySQL集羣,這篇博客咱們繼續講解MySQL集羣的相關內容,同時針對上一篇遺留的問題提出一個解決方案。

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集羣就搭建完畢了,這樣的集羣的在正常情況下可以滿足一般需求,但並不是說它就真的無懈可擊,它從架構和實用度來講還可以進行更多的優化和完善,具體都有哪些可以優化和完善的地方呢?敬請期待接下來的文章!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章