已搭建好mysql cluster(一个管理节点,2个sql节点及2个数据节点),搭建步骤请参考:http://blog.csdn.net/yabingshi_tech/article/details/47952135,现要在此基础上添加
192.168.6.70,192.168.6.71作为数据节点。(由于副本集参数已经配置成了2,所以必须一次添加2个数据节点)
tar -xvf mysql-cluster-gpl-7.2.15-linux2.6-x86_64.tar.gz
mv mysql-cluster-gpl-7.2.15-linux2.6-x86_64 /usr/local/mysql
cd /data/mysql/mysql-cluster
修改全局配置文件vi mgmd.cnf,修改后的配置文件如下:
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
[ndb_mgmd]
hostname=192.168.6.66
datadir=/data/mysql/mysql-cluster
[ndbd]
hostname=192.168.6.68
datadir=/usr/local/mysql/data
[ndbd]
hostname=192.168.6.69
datadir=/usr/local/mysql/data
[ndbd]
hostname=192.168.6.70
datadir=/usr/local/mysql/data
[ndbd]
hostname=192.168.6.71
datadir=/usr/local/mysql/data
[mysqld]
hostname=192.168.6.66
[mysqld]
hostname=192.168.6.67
2.3.1 停止管理节点
ndb_mgm> 1 stop
Node 1 has shutdown.
Disconnecting to allow Management Server to shutdown
--停止管理节点不影响sql节点的正常访问。
2.3.2 重新加载配置文件
[root@ser6-66 mysql-cluster]# ndb_mgmd -f mgmd.cnf --initial
MySQL Cluster Management Server mysql-5.5.35 ndb-7.2.15
/*
用initial或者reload参数重新加载
如果只在配置文件中新增一个数据节点,会报错:
[root@ser6-66 mysql-cluster]# ndb_mgmd -f mgmd.cnf --initial
MySQL Cluster Management Server mysql-5.5.35 ndb-7.2.15
2015-08-18 16:18:37 [MgmtSrvr] ERROR -- at line 38: Nodegroup 1 has 1 members, NoOfReplicas=2
2015-08-18 16:18:37 [MgmtSrvr] ERROR -- Could not load configuration from 'mgmd.cnf'
*/
2.3.4 查看集群状态
[root@ser6-66 mysql-cluster]# ndb_mgm 192.168.6.66
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: 192.168.6.66:1186
Cluster Configuration
---------------------
[ndbd(NDB)]4 node(s)
[email protected] (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0)
[email protected] (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0, *)
id=4 (not connected, accepting connect from 192.168.6.70)
id=5 (not connected, accepting connect from 192.168.6.71)
[ndb_mgmd(MGM)]1 node(s)
[email protected] (mysql-5.5.35 ndb-7.2.15)
[mysqld(API)]2 node(s)
id=6 (not connected, accepting connect from 192.168.6.66)
id=7 (not connected, accepting connect from 192.168.6.67)
发现我的两个sql节点not connect了,网上别人的都没断啊。以保万一,这个还是晚上访问量比较少的时候添数据节点加比较好。
在192.168.6.70,192.168.6.71上
编辑/etc/my.cnf
内容如下:
[mysqld]
ndbcluster #运行NDB存储引擎
ndb-connectstring=192.168.6.66 #定位管理节点
[mysql_cluster]
ndb-connectstring=192.168.6.66 #定位管理节点
ndb_mgm> 2 stop
Node 2: Node shutdown initiated
Node 2: Node shutdown completed.
Node 2 has shutdown.
[root@ser6-68 ~]# /usr/local/mysql/bin/ndbd --ndb-connectstring=192.168.6.66
2015-08-18 16:56:31 [ndbd] INFO -- Angel connected to '192.168.6.66:1186'
2015-08-18 16:56:31 [ndbd] INFO -- Angel allocated nodeid: 2
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]4 node(s)
[email protected] (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0)
[email protected] (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0, *)
id=4 (not connected, accepting connect from 192.168.6.70)
id=5 (not connected, accepting connect from 192.168.6.71)
[ndb_mgmd(MGM)]1 node(s)
[email protected] (mysql-5.5.35 ndb-7.2.15)
[mysqld(API)]3 node(s)
[email protected] (mysql-5.5.35 ndb-7.2.15)
id=7 (not connected, accepting connect from 192.168.6.67)
id=8 (not connected, accepting connect from any host)
--发现sql节点也起来了一个。
ndb_mgm> 3 stop
Node 3: Node shutdown initiated
Node 3: Node shutdown completed.
Node 3 has shutdown.
[root@ser6-69 download]# /usr/local/mysql/bin/ndbd --ndb-connectstring=192.168.6.66
2015-08-18 16:57:54 [ndbd] INFO -- Angel connected to '192.168.6.66:1186'
2015-08-18 16:57:54 [ndbd] INFO -- Angel allocated nodeid: 3
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 4 node(s)
id=2 @192.168.6.68 (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0, *)
id=3 @192.168.6.69 (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0)
id=4 (not connected, accepting connect from 192.168.6.70)
id=5 (not connected, accepting connect from 192.168.6.71)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.6.66 (mysql-5.5.35 ndb-7.2.15)
[mysqld(API)] 3 node(s)
id=6 @192.168.6.66 (mysql-5.5.35 ndb-7.2.15)
id=7 @192.168.6.67 (mysql-5.5.35 ndb-7.2.15)
id=8 (not connected, accepting connect from any host)
此时发现id=7的sql节点也自动连接上了。
service mysql restart
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]4 node(s)
[email protected] (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0, *)
[email protected] (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0)
id=4 (not connected, accepting connect from 192.168.6.70)
id=5 (not connected, accepting connect from 192.168.6.71)
[ndb_mgmd(MGM)]1 node(s)
[email protected] (mysql-5.5.35 ndb-7.2.15)
[mysqld(API)]3 node(s)
id=6 (not connected, accepting connect from 192.168.6.66)
[email protected] (mysql-5.5.35 ndb-7.2.15)
[email protected] (mysql-5.5.35 ndb-7.2.15)
在192.168.6.70,192.168.6.71上分别:
/usr/local/mysql/bin/ndbd --initial --ndb-connectstring=192.168.6.66
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]4 node(s)
[email protected] (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0, *)
[email protected] (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0)
[email protected] (mysql-5.5.35 ndb-7.2.15, no nodegroup)
[email protected] (mysql-5.5.35 ndb-7.2.15, no nodegroup)
[ndb_mgmd(MGM)]1 node(s)
[email protected] (mysql-5.5.35 ndb-7.2.15)
[mysqld(API)]3 node(s)
id=6 (not connected, accepting connect from 192.168.6.66)
[email protected] (mysql-5.5.35 ndb-7.2.15)
[email protected] (mysql-5.5.35 ndb-7.2.15)
/*
mycluster 中没有参数设置节点组数. 节点组数=节点数/NoOfReplicas.
所以你如果总共有两个数据节点,如果NoOfReplicas设为2, 那么意味着只有一个节点组. 如果NoOfReplicas=1,那么就有两个节点组。
*/
ndb_mgm> CREATE NODEGROUP 4,5
Nodegroup 1 created
这个数字不是随意设置的,是指你要添加哪些node到nodegroup中,这里是id=4,id=5的数据节点。
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]4 node(s)
[email protected] (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0, *)
[email protected] (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0)
[email protected] (mysql-5.5.35 ndb-7.2.15, Nodegroup: 1)
[email protected] (mysql-5.5.35 ndb-7.2.15, Nodegroup: 1)
[ndb_mgmd(MGM)]1 node(s)
[email protected] (mysql-5.5.35 ndb-7.2.15)
[mysqld(API)]3 node(s)
id=6 (not connected, accepting connect from 192.168.6.66)
[email protected] (mysql-5.5.35 ndb-7.2.15)
[email protected] (mysql-5.5.35 ndb-7.2.15)
mysql> ALTER ONLINE TABLE t2 REORGANIZE PARTITION;
Query OK, 0 rows affected (7.99 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> select partition_name,table_rows from information_schema.PARTITIONS where table_name='t2' and table_schema='dba';
+----------------+------------+
| partition_name | table_rows |
+----------------+------------+
| p0 | 3 |
| p1 | 0 |
| p2 | 1 |
| p3 | 2 |
+----------------+------------+
4 rows in set (0.02 sec)
原先t2分布在p0,p1,现在也能分布在p2,p3啦。成功啦!嘎嘎!
注意:如果配置过程中出现问题,记得将防火墙给关闭。
/*
以下是我在配置过程中遇到的问题:
ndb_mgm> create nodegroup 6,7
* 110: Error
* Time out talking to management server
mysql> ALTER ONLINE TABLE t2 REORGANIZE PARTITION;
ERROR 1297 (HY000): Got temporary error 711 'System busy with node restart, schema operations not allowed' from NDBCLUSTER
出错原因:192.168.6.70,192.168.6.71的防火墙处于开启状态
解决办法:关闭防火墙
*/
本篇文章参考:
http://blog.csdn.net/chengfei112233/article/details/7706275