Pages

2011/03/03

MySQL Clusterの管理ノード(ndb_mgmd)冗長化

MySQL Clusterの情報をいくつか見てましたが、ndb_mgmdが冗長化された状態のサンプルが見当たらなかったので自分のところで載せておこう。
 


設定例


SQLノード(mysqld)、データノード(ndbd)の設定


ndb-connectstring をカンマ区切りで並べたらよいみたいです。

参考:クラスタの 接続文字列
http://dev.mysql.com/doc/refman/5.1/ja/mysql-cluster-connectstring.html

 


ndb-connectstring=192.168.30.227,192.168.30.235

 

管理ノード(ndb_mgmd)のconfig.ini



IDを分けて2つ定義します。
# node A
[NDB_MGMD]
hostname=192.168.30.227
datadir=/var/lib/mysql-cluster
id=1

# node B
[NDB_MGMD]
hostname=192.168.30.235
datadir=/var/lib/mysql-cluster
id=2



管理ノードの初回起動時にコマンドラインで自分のIDを指定しました。
NodeA # ndb_mgmd --ndb-nodeid=1
NodeB # ndb_mgmd --ndb-nodeid=2


一度起動しておけば、バイナリ化されたコンフィグに持つのか、移行は自分のIDを覚えててくれるようです。
 


起動してみる


お互いをの管理ノードを起動して、しばらく待てば2つの管理ノードが並ぶ。

 -- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: 192.168.30.227:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 4 node(s)
id=11 @192.168.30.227 (mysql-5.1.51 ndb-7.1.10, Nodegroup: 0, Master)
id=12 @192.168.30.235 (mysql-5.1.51 ndb-7.1.10, Nodegroup: 0)
id=13 @192.168.30.228 (mysql-5.1.51 ndb-7.1.10, Nodegroup: 1)
id=14 @192.168.30.236 (mysql-5.1.51 ndb-7.1.10, Nodegroup: 1)

[ndb_mgmd(MGM)] 2 node(s)
id=1 @192.168.30.227 (mysql-5.1.51 ndb-7.1.10)
id=2 @192.168.30.235 (mysql-5.1.51 ndb-7.1.10)

[mysqld(API)] 2 node(s)
id=51 @192.168.30.227 (mysql-5.1.51 ndb-7.1.10)
id=52 @192.168.30.235 (mysql-5.1.51 ndb-7.1.10)


どちらからでもndb_mgmシェルで操作可能、片方をkillしても一応稼働しいてた。

管理ノードを冗長化したら、動作はActive+Standbyだと見た気がするんだがどっちかがマスターなのかしら?

0 件のコメント:

コメントを投稿