Chinaunix首页 | 论坛 | 博客
  • 博客访问: 452596
  • 博文数量: 481
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 1040
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-06 14:09
文章分类

全部博文(481)

文章存档

2013年(483)

我的朋友

分类: Mysql/postgreSQL

2013-04-17 16:05:10

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命令查看,是否出现了新添加的两个节点!


环状重启(一次重启数据节点和sql节点)


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

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 tuge datasource -p

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


迁移之后空间还没有释放出来,需要通过optimize命令优化表,释放迁移走的空间(当optimize一个ndb大表的时候很慢,很容易出问题)

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


从实验上看,迁移数据到其他节点的时候,会影响使用(变现为数据迁移期间,数据访问缓慢!)


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