2016年7月12日 星期二

架設 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 實驗環境:

  • Add Manage Node2:172.10.0.139

  • Manage Node1:172.10.0.140

  • SQL Node1:172.10.0.141

  • SQL Node2:172.10.0.142

  • Data Node1:172.10.0.143

  • Data Node2:172.10.0.144


 

承上篇已經有架設了一套 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 也可以容錯一台了,安心睡覺吧

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

沒有留言:

張貼留言