Mysql Cluster 动态增加数据节点
2016-06-03 16:52
393 查看
一. 原始集群配置如下
(3台机器)
管理节点:192.168.6.134
数据节点1:192.168.6.135
数据节点2:192.168.6.136
sql节点1:192.168.6.135
sql节点2:192.168.6.136
我使用3台机器进行配置,其中两台机器上的数据节点与sql节点在一起
现在需要动态添加二台
数据节点3:192.168.6.137
数据节点4:192.168.6.132
原始 管理节点(192.168.6.134)配置如下:
vi /var/lib/mysql-cluster/config.ini
查看管理节点状态
二. 进行动态添加节点
第一步:更新管理节点config.ini配置文件
第二步:重新启动管理节点服务
1. 停止管理节点
2. 重新加载配置文件
在这儿我要说明一下,按照本篇操作,数据节点加不上来,需要再配置一下数据节点
=======================================================================================================
groupadd mysql
useradd -g mysql mysql
CD /USR/LOCAL/MYSQL
shell> chown mysql.mysql /usr/local/mysql -R
shell> chown mysql:mysql -R /usr/local/mysql/data
shell> cd /usr/local/mysql/bin/
shell> cp ndb_mgm* /usr/local/bin/
shell> gedit /etc/my.cnf
-------------------------
[mysql_cluster]
ndb-connectstring=管理节点IP
[mysqld]
datadir=/usr/local/mysql/data
ndbcluster
ndb-connectstring=管理节点IP
=========================================================================================
3. 查看集群状态
第三步:轮流重新启动连接的数据节点
在ndg_mgm(192.168.6.134)控制台
重启节点2
显示结果:
重启节点3
显示结果:
第四步:轮流重新启动连接的数据节点
在192.168.6.135与192.168.6.136
第五步:初始化新的数据节点
在新增的数据节点上192.168.6.137和192.168.6.132上执行安装启动操作,安装步骤,详见上一篇文章
启动数据节点
登陆管理节点查看集群状态
第六步:创建一个新的节点组
第七步:数据重新分配
对于新增的数据节点一些访问量较高的数据和比较重要的数据需要从新分配。
分发数据命令:
Alter online table ips reorganize partition;
查看数据的分配情况:
ndb_mgm>ALL REPORT MEMORY
(3台机器)
管理节点:192.168.6.134
数据节点1:192.168.6.135
数据节点2:192.168.6.136
sql节点1:192.168.6.135
sql节点2:192.168.6.136
我使用3台机器进行配置,其中两台机器上的数据节点与sql节点在一起
现在需要动态添加二台
数据节点3:192.168.6.137
数据节点4:192.168.6.132
原始 管理节点(192.168.6.134)配置如下:
vi /var/lib/mysql-cluster/config.ini
[ndbd default] NoOfReplicas=2 DataMemory=80M IndexMemory=18M [ndb_mgmd] NodeId=1 Hostname=192.168.6.134 datadir=/usr/local/mysql/logs [ndbd] NodeId=2 Hostname=192.168.6.135 datadir=/usr/local/mysql/data/ [ndbd] NodeId=3 Hostname=192.168.6.136 datadir=/usr/local/mysql/data/ [MYSQLD] [MYSQLD]
查看管理节点状态
shell> /usr/local/mysql/bin/ndb_mgm ndb_mgm> show Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 @192.168.6.135 (mysql-5.5.22 ndb-7.2.6, Nodegroup: 0, Master) id=3 @192.168.6.136 (mysql-5.5.22 ndb-7.2.6, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @192.168.6.134 (mysql-5.5.22 ndb-7.2.6) [mysqld(API)] 2 node(s) id=4 @192.168.6.135 (mysql-5.5.22 ndb-7.2.6) id=5 @192.168.6.136 (mysql-5.5.22 ndb-7.2.6)
二. 进行动态添加节点
第一步:更新管理节点config.ini配置文件
[ndbd default] NoOfReplicas=2 DataMemory=80M IndexMemory=18M [ndb_mgmd] NodeId=1 Hostname=192.168.6.134 datadir=/usr/local/mysql/logs [ndbd] NodeId=2 Hostname=192.168.6.135 datadir=/usr/local/mysql/data/ [ndbd] NodeId=3 Hostname=192.168.6.136 datadir=/usr/local/mysql/data/ [ndbd] NodeId=4 Hostname=192.168.6.137 datadir=/usr/local/mysql/data/ [ndbd] NodeId=5 Hostname=192.168.6.132 datadir=/usr/local/mysql/data/ [MYSQLD] NodeId=10 Hostname=192.168.6.135 [MYSQLD] NodeId=11 Hostname=192.168.6.136
第二步:重新启动管理节点服务
1. 停止管理节点
ndb_mgm> 1 stop Node 1 has shutdown. Disconnecting to allow Management Server to shutdown
2. 重新加载配置文件
shell> /usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --reload MySQL Cluster Management Server mysql-5.5.22 ndb-7.2.6
在这儿我要说明一下,按照本篇操作,数据节点加不上来,需要再配置一下数据节点
=======================================================================================================
groupadd mysql
useradd -g mysql mysql
CD /USR/LOCAL/MYSQL
shell> chown mysql.mysql /usr/local/mysql -R
shell> chown mysql:mysql -R /usr/local/mysql/data
shell> cd /usr/local/mysql/bin/
shell> cp ndb_mgm* /usr/local/bin/
shell> gedit /etc/my.cnf
-------------------------
[mysql_cluster]
ndb-connectstring=管理节点IP
[mysqld]
datadir=/usr/local/mysql/data
ndbcluster
ndb-connectstring=管理节点IP
=========================================================================================
3. 查看集群状态
ndb_mgm> show Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 4 node(s) id=2 @192.168.6.135 (mysql-5.5.22 ndb-7.2.6, Nodegroup: 0, Master) id=3 @192.168.6.136 (mysql-5.5.22 ndb-7.2.6, Nodegroup: 0) id=4 (not connected, accepting connect from 192.168.6.137) id=5 (not connected, accepting connect from 192.168.6.132) [ndb_mgmd(MGM)] 1 node(s) id=1 @192.168.6.134 (mysql-5.5.22 ndb-7.2.6) [mysqld(API)] 2 node(s) id=10 @192.168.6.135 (mysql-5.5.22 ndb-7.2.6) id=11 @192.168.6.136 (mysql-5.5.22 ndb-7.2.6)
第三步:轮流重新启动连接的数据节点
在ndg_mgm(192.168.6.134)控制台
重启节点2
ndb_mgm> 2 restart Node 2: Node shutdown initiated Node 2: Node shutdown completed, restarting, no start. Node 2 is being restarted
显示结果:
ndb_mgm> Node 2: Started (version 7.2.6)
重启节点3
ndb_mgm> 3 restart Node 3: Node shutdown initiated Node 3: Node shutdown completed, restarting, no start. Node 3 is being restarted
显示结果:
ndb_mgm> Node 3: Started (version 7.2.6)
第四步:轮流重新启动连接的数据节点
在192.168.6.135与192.168.6.136
shell> service mysqld restart
第五步:初始化新的数据节点
在新增的数据节点上192.168.6.137和192.168.6.132上执行安装启动操作,安装步骤,详见上一篇文章
启动数据节点
shell> /usr/local/mysql/bin/ndbd -c 192.168.6.134 --initial
登陆管理节点查看集群状态
ndb_mgm> show Cluster Configuration --------------------- [ndbd(NDB)] 4 node(s) id=2 @192.168.6.135 (mysql-5.5.22 ndb-7.2.6, Nodegroup: 0, Master) id=3 @192.168.6.136 (mysql-5.5.22 ndb-7.2.6, Nodegroup: 0) id=4 @192.168.6.137 (mysql-5.5.22 ndb-7.2.6, starting, no nodegroup) //这两个是新添加的,no nodegroup id=5 @192.168.6.132 (mysql-5.5.22 ndb-7.2.6, starting, no nodegroup) [ndb_mgmd(MGM)] 1 node(s) id=1 @192.168.6.134 (mysql-5.5.22 ndb-7.2.6) [mysqld(API)] 2 node(s) id=10 @192.168.6.135 (mysql-5.5.22 ndb-7.2.6) id=11 @192.168.6.136 (mysql-5.5.22 ndb-7.2.6)
第六步:创建一个新的节点组
ndb_mgm>CREATE NODEGROUP 4,5 Nodegroup 1 created
第七步:数据重新分配
对于新增的数据节点一些访问量较高的数据和比较重要的数据需要从新分配。
分发数据命令:
Alter online table ips reorganize partition;
查看数据的分配情况:
ndb_mgm>ALL REPORT MEMORY
相关文章推荐
- mysql之union
- Ubuntu14.04安装配置Mysql(傻瓜版)
- mysql中字符集的比较
- 关闭所有mysql连接脚本
- MySQL 教程
- mysql主从复制实战
- 修改mysql数据库的存储引擎
- MySQL二进制日志的备份和恢复
- mysqldump命令
- Mac os 下安装 mysql 5.7.13
- mysql备份还原
- mysql遇到锁表常用命令
- MySQL中information_schema是什么
- Mysql优化学习总结(一)--引擎的选择
- MYSQL DUMP
- MYSQL DUMP
- mysql 远程连接数据库的二种方法
- MySQL创建定时任务动态创建月表
- mysql数据库无法插入单引号' 解决方法
- 优化mysql运行环境的方法