ITPub博客

首页 > Linux操作系统 > Linux操作系统 > mysql cluster 7 动态增加数据节点配置步骤

mysql cluster 7 动态增加数据节点配置步骤

原创 Linux操作系统 作者:season0891 时间:2009-06-03 13:44:47 0 删除 编辑
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 Starting configuration.

vi /usr/local/mysql/mysql-cluster/config.ini

[ndbd default]

DataMemory = 100M

IndexMemory = 100M

NoOfReplicas = 2

DataDir = /usr/local/mysql/var/mysql-cluster

[ndbd]

Id = 1

HostName = 172.20.86.188

 

[ndbd]

Id = 2

HostName = 172.20.86.189

 

[mgm]

HostName = 172.20.86.185

Id = 10

 

[mysqld]

Id=20

HostName = 172.20.86.185

 

2 185 上运行ndb_mgm

Ndb_mgm>show

-- NDB Cluster -- Management Client --
ndb_mgm> SHOW
Connected to Management Server at: 172.20.86.185:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @172.20.86.188  (5.1.32-ndb-7.0.5, Nodegroup: 0, Master)
id=2    @172.20.86.189  (5.1.32-ndb-7.0.5, Nodegroup: 0)
 
[ndb_mgmd(MGM)] 1 node(s)
id=10   @172.20.86.185  (5.1.32-ndb-7.0.5)
 
[mysqld(API)]   2 node(s)
id=20   @172.20.86.185  (5.1.32-ndb-7.0.5)

 

 

Step 1: Update configuration file

 

[ndbd default]
DataMemory = 100M
IndexMemory = 100M
NoOfReplicas = 2
DataDir = /usr/local/mysql/var/mysql-cluster
 
[ndbd]
Id = 1
HostName = 172.20.86.188
 
[ndbd]
Id = 2
HostName = 172.20.86.189
 
[ndbd]
Id = 3
HostName = 172.20.86.187
 
[ndbd]
Id = 4
HostName = 172.20.86.186
 
[mgm]
HostName = 172.20.86.185
Id = 10
 
[mysqld]
Id=20
HostName = 172.20.86.185

 

 

Step 2: Restart the management server

Step 2.1 停止管理节点

ndb_mgm> 10 STOP
Node 10 has shut down.
Disconnecting to allow Management Server to shutdown
shell>

Step 2.2 重新加载配置文件

shell> ndb_mgmd -f config.ini --reload
2008-12-08 17:29:23 [MgmSrvr] INFO     -- NDB Cluster Management Server. 5.1.34-ndb-7.0.7
2008-12-08 17:29:23 [MgmSrvr] INFO     -- Reading cluster configuration from 'config.ini'

Step 2.3 查看新集群状态

-- NDB Cluster -- Management Client --
ndb_mgm> SHOW
Connected to Management Server at: 172.20.86.185:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @172.20.86.188  (5.1.32-ndb-7.0.5, Nodegroup: 0, Master)
id=2    @172.20.86.189  (5.1.32-ndb-7.0.5, Nodegroup: 0)
id=3 (not connected, accepting connect from 172.20.86.186)
id=4 (not connected, accepting connect from 172.20.86.187)
 
[ndb_mgmd(MGM)] 1 node(s)
id=10   @172.20.86.185  (5.1.32-ndb-7.0.5)
 
[mysqld(API)]   1 node(s)
id=20   @172.20.86.185 (5.1.32-ndb-7.0.5)

 

Step 3: Perform. a rolling restart of the existing data nodes –轮流重新启动连接的数据节点

ndb_mgm> 1 RESTART
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.5)
Node 1: Started (version 7.0.5)
 
ndb_mgm> 2 RESTART
Node 2: Node shutdown initiated
Node 2: Node shutdown completed, restarting, no start.
Node 2 is being restarted

 

Step 4: Perform. a rolling restart of all cluster API nodes –轮流重启sql节点

本案仅有一个sql节点

shell> mysqladmin -uroot -ppassword shutdown
shell> mysqld_safe &

 

Step 5: Perform. an initial start of the new data nodes –初始化新的数据节点

 

在新增的数据节点上 186 187 上执行

Shell>ndbmtd –initial

或者

Shell>ndbd –initial

登陆管理节点查看集群状态

Connected to Management Server at: 172.20.86.185:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @172.20.86.188  (5.1.32-ndb-7.0.5, Nodegroup: 0, Master)
id=2    @172.20.86.189  (5.1.32-ndb-7.0.5, Nodegroup: 0)
id=3    @172.20.86.186  (5.1.32-ndb-7.0.5, no nodegroup)
id=4    @172.20.86.187  (5.1.32-ndb-7.0.5, no nodegroup)
 
[ndb_mgmd(MGM)] 1 node(s)
id=10   @172.20.86.185  (5.1.32-ndb-7.0.5)
 
[mysqld(API)]   2 node(s)
id=20   @172.20.86.185 (5.1.32-ndb-7.0.5)
 

Step 6: Create a new node group. 

ndb_mgm> CREATE NODEGROUP 3,4
Nodegroup 1 created
 
ndb_mgm> SHOW
Connected to Management Server at: 172.20.86.185:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @172.20.86.188  (5.1.32-ndb-7.0.5, Nodegroup: 0, Master)
id=2    @172.20.86.189  (5.1.32-ndb-7.0.5, Nodegroup: 0)
id=3    @172.20.86.186 (5.1.32-ndb-7.0.5, Nodegroup: 1)
id=4    @172.20.86.187 (5.1.32-ndb-7.0.5, Nodegroup: 1)
 
[ndb_mgmd(MGM)] 1 node(s)
id=10   @172.20.86.185 (5.1.32-ndb-7.0.5)
 
[mysqld(API)]   1 node(s)
id=20   @172.20.86.185 (5.1.32-ndb-7.0.5)
 

Step 7: Redistribute cluster data. –数据的重新分配

 

对于新增的数据节点一些访问量较高的数据和比较重要的数据需要从新分配。

 

分发数据命令:

Alter online table ips reorganize partition;

查看数据的分配情况:

ndb_mgm> ALL REPORT MEMORY
 
Node 1: Data usage is 5%(177 32K pages of total 3200)
Node 1: Index usage is 0%(108 8K pages of total 12832)
Node 2: Data usage is 5%(177 32K pages of total 3200)
Node 2: Index usage is 0%(108 8K pages of total 12832)
Node 3: Data usage is 0%(0 32K pages of total 3200)
Node 3: Index usage is 0%(0 8K pages of total 12832)
Node 4: Data usage is 0%(0 32K pages of total 3200)
Node 4: Index usage is 0%(0 8K pages of total 12832)

或者

shell> ndb_desc -c 192.168.0.10 -d n ips -p
-- ips --
Version: 1
Fragment type: 9
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 6
Number of primary keys: 1
Length of frm data: 340
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
FragmentCount: 2
TableStatus: Retrieved
-- Attributes --
id Bigint PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
country_code Char(2;latin1_swedish_ci) NOT NULL AT=FIXED ST=MEMORY
type Char(4;latin1_swedish_ci) NOT NULL AT=FIXED ST=MEMORY
ip_address Varchar(15;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
addresses Bigunsigned NULL AT=FIXED ST=MEMORY
date Bigunsigned NULL AT=FIXED ST=MEMORY
 
-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex
 
-- Per partition info --
Partition   Row count   Commit count  Frag fixed memory   Frag varsized memory
0           26086       26086         1572864             557056
1           26329       26329         1605632             557056
 
NDBT_ProgramExit: 0 - OK

You can cause the data to be redistributed among all of the data nodes by performing, for each NDBCLUSTER table, an ALTER ONLINE TABLE ... REORGANIZE PARTITION statement in the mysql client. After issuing the statement ALTER ONLINE TABLE ips REORGANIZE PARTITION, you can see using ndb_desc that the data for this table is now stored using 4 partitions, as shown here (with the relevant portions of the output in bold type):

shell> ndb_desc -c 172.20.86.185 -d n ips -p
-- ips --
Version: 16777217
Fragment type: 9
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 6
Number of primary keys: 1
Length of frm data: 341
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
FragmentCount: 4
TableStatus: Retrieved
-- Attributes --
id Bigint PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
country_code Char(2;latin1_swedish_ci) NOT NULL AT=FIXED ST=MEMORY
type Char(4;latin1_swedish_ci) NOT NULL AT=FIXED ST=MEMORY
ip_address Varchar(15;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
addresses Bigunsigned NULL AT=FIXED ST=MEMORY
date Bigunsigned NULL AT=FIXED ST=MEMORY
 
-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex
 
-- Per partition info --
Partition   Row count   Commit count  Frag fixed memory   Frag varsized memory
0           12981       52296         1572864             557056
1           13236       52515         1605632             557056
2           13105       13105         819200              294912
3           13093       13093         819200              294912

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/90618/viewspace-604979/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-06-10

  • 博文量
    791
  • 访问量
    1940829