2013年2月12日火曜日

CentOS6(EC2)で"MySQL Cluster"を試してみる(複数サーバ編)

スズキです。

下記で単一のサーバでの稼働が確認できたので、
CentOS6で"MySQL Cluster"を試してみる(単一サーバ編)
いよいよ、下記のような複数サーバ(EC2 x 2)での確認です。


各種プロセス(mysqld, ndbd, ndb_mgmd)の停止(両EC2で)

# /etc/init.d/mysql stop
Shutting down MySQL... SUCCESS! 
# killall ndbd 
# killall ndb_mgmd 

Hostsファイルに各ノードを登録(両EC2で)

# cat /etc/hosts
...
10.160.102.121  mgmd-1 ndbd-1 mysqld-1
10.150.174.36   mgmd-2 ndbd-2 mysqld-2

設定ファイルの調整(両EC2で)

# /etc/my.cnf
...
[mysqld]
ndbcluster

[mysql_cluster]
ndb_connectstring=mgmd-1;mgmd-2

[ndb_mgmd]
config_file=/var/lib/ndb/config.ini
config_dir=/var/lib/ndb
initial

[ndbd]
initial
# cat /var/lib/ndb/config.ini 
[ndb_mgmd default]
datadir=/var/lib/ndb

[ndb_mgmd]
hostname=mgmd-1
NodeId=1

[ndb_mgmd]
hostname=mgmd-2
NodeId=2

[ndbd default]
noofreplicas=2
datadir=/var/lib/ndb

[ndbd]
hostname=ndbd-1
NodeId=11

[ndbd]
hostname=ndbd-2
NodeId=12


[mysqld]
hostname=mysqld-1
NodeId=21

[mysqld]
hostname=mysqld-2
NodeId=22

各プロセスの起動(両EC2で)

# ndb_mgmd
MySQL Cluster Management Server mysql-5.5.29 ndb-7.2.10
# ndbd 
2013-02-12 01:07:50 [ndbd] INFO     -- Angel connected to 'mgmd-1:1186;mgmd-2:1186'
2013-02-12 01:07:50 [ndbd] INFO     -- Angel allocated nodeid: 11
# service mysql start
Starting MySQL.... SUCCESS! 
※"allocated nodeid: 11"はもう一つのEC2では"12"となります。

各ノードの状態確認

# ndb_mgm -e show
Connected to Management Server at: mgmd-1:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=11 @10.160.102.121  (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0)
id=12 @10.150.174.36  (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0, Master)
[ndb_mgmd(MGM)] 2 node(s)
id=1 @10.160.102.121  (mysql-5.5.29 ndb-7.2.10)
id=2 @10.150.174.36  (mysql-5.5.29 ndb-7.2.10)
[mysqld(API)] 2 node(s)
id=21 @10.160.102.121  (mysql-5.5.29 ndb-7.2.10)
id=22 @10.150.174.36  (mysql-5.5.29 ndb-7.2.10)

最後に、適当にテーブル作ったり、データ登録したり抽出したりして、
ちゃんと動作してることも確認できると思います。

ということで、AWS上でもいけそうです。
--------
http://www.suz-lab.com

0 コメント: