第一步、修改config.ini,添加[ndbd],例如
[ndbd]
Id = 3
HostName = 172.16.1.3
[ndbd]
Id = 4
HostName = 172.16.1.4
第二步、停止管理节点
ndb_mgm> 10 STOP
Node 10 has shut down.//节点10就是管理节点
Disconnecting to allow Management Server to shutdown
第三步、启动管理节点
shell> ndb_mgmd -f config.ini --reload
//--reload或者--initial,initial效果可能更好
2010-09-08 10:30:23 [MgmSrvr] INFO -- NDB Cluster Management
Server. 5.1.35-ndb-7.0.7
2010-09-08 10:30:23 [MgmSrvr] INFO -- Reading cluster configuration
from 'config.ini'
第四步、按顺序一个个启动存储节点
ndb_mgm> 1 RESTART //重启节点1(存储节点)
Node 1: Node shutdown initiated
Node 1: Node shutdown completed, restarting, no start.
Node 1 is being restarted
ndb_mgm> Node 1: Start initiated (version
7.0.7)
Node 1: Started (version 7.0.7)
ndb_mgm> 2 RESTART //重启节点2
Node 2: Node shutdown initiated
Node 2: Node shutdown completed, restarting, no start.
Node 2 is being restarted
ndb_mgm> Node 2: Start initiated (version
7.0.7)
ndb_mgm> Node 2: Started (version 7.0.7)
第五步、重启SQL节点(API节点)
shell> service mysqld restart
第六步、启动新存储几点并且初始化
shell> ndbd --initial
在管理节点show查看变化
ndb_mgm> SHOW
Connected to Management Server at: 172.16.1.10:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=1 @172.16.1.1 (5.1.35-ndb-7.0.7, Nodegroup: 0, Master)
id=2 @172.16.1.2 (5.1.35-ndb-7.0.7, Nodegroup: 0)
id=3 @172.16.1.3 (5.1.35-ndb-7.0.7, no nodegroup) //这两个是新添加的,no
nodegroup
id=4 @172.16.1.4 (5.1.35-ndb-7.0.7, no nodegroup)
[ndb_mgmd(MGM)] 1 node(s)
id=10 @172.16.1.10 (5.1.35-ndb-7.0.7)
[mysqld(API)] 2 node(s)
id=20 @172.16.1.20 (5.1.35-ndb-7.0.7)
id=21 @172.16.1.21 (5.1.35-ndb-7.0.7)
第七步、为新的节点分配组
ndb_mgm> CREATE NODEGROUP 3,4
Nodegroup 1 created
ndb_mgm> SHOW
Connected to Management Server at: 172.16.1.10:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=1 @172.16.1.1 (5.1.35-ndb-7.0.7, Nodegroup: 0, Master)
id=2 @172.16.1.2 (5.1.35-ndb-7.0.7, Nodegroup: 0)
id=3 @172.16.1.3 (5.1.35-ndb-7.0.7, Nodegroup: 1) //Nodegroup:
1,并且是连接状态
id=4 @172.16.1.4 (5.1.35-ndb-7.0.7, Nodegroup: 1)
[ndb_mgmd(MGM)] 1 node(s)
id=10 @172.16.1.10 (5.1.35-ndb-7.0.7)
[mysqld(API)] 2 node(s)
id=20 @172.16.1.20 (5.1.35-ndb-7.0.7)
id=21 @172.16.1.21 (5.1.35-ndb-7.0.7)
第八步、重新分配数据
对于新增的数据节点一些访问量较高的数据和比较重要的数据需要从新分配。
分发数据命令:
Alter online table ips reorganize partition;
查看数据的分配情况:
ndb_mgm>ALL REPORT MEMORY
或者
shell>ndb_desc -c 172.16.1.3 -d n ips -p-- ips
shell>ndb_desc -c 172.16.1.4 -d n ips -p--
ips