Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7488100
  • 博文数量: 368
  • 博客积分: 9600
  • 博客等级: 上校
  • 技术积分: 18875
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-01 00:00
文章分类

全部博文(368)

文章存档

2017年(9)

2016年(19)

2015年(3)

2014年(6)

2013年(8)

2012年(78)

2011年(66)

2010年(135)

2009年(44)

分类: LINUX

2011-03-24 10:21:02


Mysql Cluster在线添加数据节点


增加或减少数据节点的数量和NoOfReplicas有关,一般来说NoOfReplicas2,那么增加或减少的数量也应该是成对的,否则要设置另外的NoOfReplicas

vi config.ini  添加

[NDBD]

id=30

HostName=192.168.100.223

 

[NDBD]

id=31

HostName=192.168.100.224

 

ndb_mgm工具,停掉管理节点,然后重新启动管理节点

执行ndb_mgm进入管理命令界面

找到管理节点的id,然后执行管理节点id stop,退出

执行

/usr/bin/ndb_mgmd -f /usr/local/mysql/mysql-cluster/config.ini  --reload 重新启动管理节点

登陆上去用show命令查看

环状重启

初始化新添加的两个数据节点节点:

ndbd --initial (执行初始化之后会自动创建数据文件,undo日志文件等等)

通过ndb_mgm创建nodegroup

CREATE NODEGROUP 30,31

重新分配cluster的数据

SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE ENGINE = 'NDBCLUSTER';

ALTER ONLINE TABLE table_name REORGANIZE PARTITION

然后通过show命令或者使用ndb_desc命令查看

ndb_desc -c 192.168.0.10 -d test zhang -p

-c后面跟管理节点的ip-d跟数据库的名字,zhang为表名,-p输出分区的详细信息

最后还要通过optimize命令优化表,较少空间浪费

表很多的时候,最好自己编写脚本,实现数据的重新分区和优化。

从实验上看,迁移数据到其他节点的时候,会影响使用(变现为数据迁移期间,数据访问缓慢!),另外在使用optimize命令优化超过1G的表时非常慢。



阅读(5779) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~