Site icon Mr. 沙先生

架設 HA 高可用性:MySQL Cluster 叢集 – 架設第二台 Management node

在前一篇寫過 MySQL Cluster 的安裝文件:架設 HA 高可用性:MySQL Cluster 叢集 – 7.4.11(5.6.29)

 

在裡面的每一台 node 都有很好的備援機制,唯獨 management node 僅有一台,雖然他僅僅是監控 cluster 而無其他用途,但身為系統人員如果要安心的放個假,睡個覺的話,management node 也加入第二台也讓 management node 也有容錯機制吧!

 

LAB 實驗環境:

 

承上篇已經有架設了一套 MySQL Cluster,將原本的架構進行延伸,增加一台 Manage Node2 (172.10.0.139)

 

架設第二台 Manage Node 管理者

 

Step.1 首先先在 Manage Node1 上面增加 Manage Node2 的連線資訊

# in Manage Node1
$ vim /var/lib/mysql-cluster/config.ini

[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=1024M
IndexMemory=256M
 
[MYSQLD DEFAULT]
 
[NDB_MGMD DEFAULT]
DataDir=/var/lib/mysql-cluster
 
[TCP DEFAULT]
 
[NDB_MGMD]
NodeId=1
HostName=172.10.0.140
 
[MYSQLD]
NodeId=2
HostName=172.10.0.141
 
[MYSQLD]
NodeId=3
HostName=172.10.0.142
 
[NDBD]
NodeId=4
HostName=172.10.0.143
DataDir=/var/lib/mysql-cluster
 
[NDBD]
NodeId=5
HostName=172.10.0.144
DataDir=/var/lib/mysql-cluster

[NDB_MGMD]
NodeId=6
HostName=172.10.0.139

增加了 NodeId 6,IP 是 172.10.0.139

 

Step.2 讓 config 生效

# stop ndb_mgmd pid
$ pkill ndb_mgmd

# start ndb_mgmd with reload config
$ ndb_mgmd -f config.ini --configdir=/var/lib/mysql-cluster --reload

如果你原先就已經設定過 config.ini,請一定要加上 –reload 讓他重新去抓 config.ini 使其生效

 

Step.3 驗證 Manage Node1 的設定正確,並且增加 nodeid 6

# in Manage node1
$ ndb_mgm
 
-- NDB Cluster -- Management Client --
ndb_mgm> show
 
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]	2 node(s)
id=3    @172.10.0.143  (mysql-5.6.29 ndb-7.4.11, Nodegroup: 0)
id=4	@172.10.0.144  (mysql-5.6.29 ndb-7.4.11, Nodegroup: 0, *)
 
[ndb_mgmd(MGM)]	1 node(s)
id=1	@172.10.0.140  (mysql-5.6.29 ndb-7.4.11)
id=6	(not connected, accepting connect from 172.10.0.139)
 
[mysqld(API)]	2 node(s)
id=2	@172.10.0.141  (mysql-5.6.29 ndb-7.4.11)
id=3	@172.10.0.142  (mysql-5.6.29 ndb-7.4.11)

此時我只是將 Manage Node2 的設定檔加上去而已,使其允許 172.10.0.139 可以連上並且擔任 MGM

 

Step.4 設定 Manage Node2

和其他 Node 一樣,都需要安裝 mysql-cluster

$ wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.11-linux-glibc2.5-i686.tar.gz
$ tar zxvf mysql-cluster-gpl-7.4.11-linux-glibc2.5-i686.tar.gz
$ mkdir /usr/local/mysql && mv mysql-cluster-gpl-7.4.11-linux-glibc2.5-i686 !$

 

啟動 Manage Node2 連線到 Manage Node1

# first connect mgm
$ ndb_mgmd -c 172.10.0.141 --ndb-nodeid=6 --configdir=/var/lib/mysql-cluster

MySQL Cluster Management Server mysql-5.6.29 ndb-7.4.11
2016-07-12 11:04:28 [MgmtSrvr] INFO     -- Trying to get configuration from other mgmd(s) using 'nodeid=6,172.10.0.139:1186'...
2016-07-12 11:04:28 [MgmtSrvr] INFO     -- Connected to '172.10.0.141:1186'...

從上面的訊息就可以明白為何第二台 Manage Node2 不需要設定 config.ini,是因為 Manage Node2 連線到 Manage Node1 :1186 順便獲取到了 config

如果你的 config 有改變,一樣要加上 –reload 才會生效!

 

確認 Manage Node2 上線

# in Manage node1 ,2
$ ndb_mgm
 
-- NDB Cluster -- Management Client --
ndb_mgm> show
 
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]	2 node(s)
id=3    @172.10.0.143  (mysql-5.6.29 ndb-7.4.11, Nodegroup: 0)
id=4	@172.10.0.144  (mysql-5.6.29 ndb-7.4.11, Nodegroup: 0, *)
 
[ndb_mgmd(MGM)]	1 node(s)
id=1	@172.10.0.140  (mysql-5.6.29 ndb-7.4.11)
id=6	@172.10.0.139  (mysql-5.6.29 ndb-7.4.11)
 
[mysqld(API)]	2 node(s)
id=2	@172.10.0.141  (mysql-5.6.29 ndb-7.4.11)
id=3	@172.10.0.142  (mysql-5.6.29 ndb-7.4.11)

 

config 和 log 也都 load 進來了

$ ls /var/lib/mysql-cluster/
ndb_5_config.bin.3
ndb_5.pid
ndb_3_out.log
ndb_5_cluster.log
ndb_5_out.log

 

這樣你的 Manage Node 也可以容錯一台了,安心睡覺吧

Exit mobile version