`
wb284551926
  • 浏览: 537918 次
文章分类
社区版块
存档分类
最新评论

mysql cluster在线添加数据节点(转载)

阅读更多

        增加或减少数据节点的数量和NoOfReplicas(即副本数,通过管理节点的config.ini配置文件来设置)有关,一般来说NoOfReplicas是2,那么增加或减少的数量也应该是成对的,否则要设置另外的NoOfReplicas。首先必须确保新加入的数据节点作为新的group加入,默认2个node为1个group,Group数量=Node总数/NoOfReplicas数。

1.修改管理节点的config.ini配置文件 ,添加如下一段:

[NDBD]
Id=6
HostName= 10.30.9.208
Datadir=/opt/mysql-cluster/data
[NDBD]
Id=7
HostName= 10.30.9.211
Datadir=/opt/mysql-cluster/data

这里的Id不能跟已有的Id重复

2.关闭管理节点,用reload方式启动管理节点

 

执行ndb_mgm进入管理命令界面

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

 

[root@sg204 mysql-cluster]# libexec/ndb_mgmd -f /opt/mysql-cluster/etc/config.ini --reload    #加上reload参数,使得修改过的config.ini生效

启动成功后用show查看,可以 看到新加入的数据节点,并且处于未连接状态。

3.滚动重启旧的数据存储节点服务(滚动重启,不能所有节点同时重启,如果同时停止,数据库前端查询就会出现错误)

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: Start initiated (version 7.1.19)

Node 2: Started (version 7.1.19)

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: Start initiated (version 7.1.19)

ndb_mgm> Node 3: Started (version 7.1.19)

4.  滚动重启所有的数据查询节点服务

[root@sg204 mysql-cluster]#bin/mysqladmin -uroot -ppassword shutdown

[root@sg204 mysql-cluster]# mysqld_safe --console --ndbcluster --ndb-connectstring=192.168.0.10

5.以初如化方式 启动新增加的数据存储节点

[root@sg204 mysql-cluster]#ndbd -c 10.30.9.204 --initial

启动后在管理节点上用show命令查看可以 看到新加入的节点已经启动并处于未分组状态

 

id=6 @10.30.9.208 (5.1.56-ndb-7.1.19, no nodegroup)
id=7 @10.30.9.211 (5.1.56-ndb-7.1.19, no nodegroup)

 

6.为新节点增加分组,在管理节点上ndb_mgm下输入以下命令:

 

ndb_mgm> create nodegroup 6,7

 

这时在管理节点上show,可以看到新节点已经分组。

ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 4 node(s)
id=2 @10.30.9.206 (mysql-5.1.56 ndb-7.1.19, Nodegroup: 0, Master)
id=3 @10.30.9.207 (mysql-5.1.56 ndb-7.1.19, Nodegroup: 0)
id=6 @10.30.9.208 (mysql-5.1.56 ndb-7.1.19, Nodegroup: 1)
id=7 @10.30.9.211 (mysql-5.1.56 ndb-7.1.19, Nodegroup: 1)

[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.30.9.204 (mysql-5.1.56 ndb-7.1.19)

[mysqld(API)] 4 node(s)
id=4 @10.30.9.208 (mysql-5.1.56 ndb-7.1.19)
id=5 @10.30.9.211 (mysql-5.1.56 ndb-7.1.19)
id=8 @10.30.9.206 (mysql-5.1.56 ndb-7.1.19)
id=9 @10.30.9.207 (mysql-5.1.56 ndb-7.1.19)

 

7.重新分配集群数据(数据量表比较大时,会出现很多问题;我当时表里数据量为三千万条,一直报错,报错解决后提示成功,但数据没有迁移过去,最后没有弄,直接把表数据删除了……

现把网上找到的方法贴到下面)

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大表的时候很慢,很容易出问题)

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

 

 

原文地址:http://blog.csdn.net/chenxingzhen001/article/details/7598509

分享到:
评论

相关推荐

    Mysql 高可用 InnoDB Cluster 多节点搭建过程

    Mysql 高可用 InnoDB Cluster 多节点搭建过程

    MySQL Cluster 8.0.27(mysql-cluster-8.0.27-winx64.zip)

    MySQL Cluster 8.0.27( Microsoft Windows) 适用于Windows (x86, 64-bit), ZIP Archive

    利用MySQL Cluster 7.0 + LVS 搭建高可用环境

    是这样安排这些服务器的,192.168.0.2 作为 MySQL Cluster 的管理节点,2 ~ 6 既做数据节点(DATA node),也做SQL节点(SQL node),7 ~ 10 也做SQL节点。LVS采用 VS/DR 的模式,因此把 192.168.0.2 也同时作为 LVS 的 ...

    MySQLCluster(MySQL集群)V7.6.10官方安装版(附安装配置教程)64位

    MySQL Cluster 是专门用来做MySQL集群的程序,简单来讲它是一种技术,... MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的

    MySQL Cluster 配置详细介绍

    在MySQL Cluster 环境的配置文件 config.ini 里面,每一类节点都有两个(或以上)的相应配置项组,每一类节点的配置项都主要由两部分组成,一部分是同类所有节点相同的配置项组,在[NDB_MGM DEFAULT]、[NDBD DEFAULT...

    mysql cluster集群安装以及故障处理

    MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。关于 Cluster 中这些组件的关系。 文档包含如下: 1、...

    MySQL Cluster同步集群搭建

    MYSQL Cluster同步集群的搭建!实现的功能就是节点间的数据同步

    mysql-cluster双机集群.rar

    linux搭建mysql-cluster双机集群 管理节点:192.168.42.137.192.168.42.139 数据节点-SQL节点IP:192.168.42.137 数据节点-SQL节点IP:192.168.42.139 serverA:192.168.42.137 serverB:192.168.42.139 不管centos,...

    MySQL Cluster 3台机器搭建集群环境

    ndb是一种存储引擎,通常在mysql cluster中使用,MySQL Cluster 是一个基于NDB Cluster 存储引擎的完整的分布式数据库系统。 和Oracle Real Cluster Application 不太一样的是,MySQL Cluster 是一个Share Nothing ...

    mysql-cluster操作文档

    说明:操作以北京环境为例,广东的操作只需修改相应的ip即可。 1. 启动 管理节点 在 192 .16.12.131 上执

    CentOS安装Mysql_Cluster集群

    CentOS安装Mysql_Cluster集群---1管理节点2数据节点2SQL节点(已测试完成)

    unbuntu详细安装mysqlcluster

    一台虚拟机中安装一个管理节点,2个数据几点,2个SQL节点,初学者通过一台虚拟机就可以搭建起mysqlcluster环境,进行测试方便,不需要多台机器。

    MySQL Cluster 7.3.7+CentOS7集群配置入门 MySQL双管理节点配置入门

    NULL 博文链接:https://wilr.iteye.com/blog/2168659

    MYSQL集群+HA高可用实战【MySQL性能调优】.

    MySQL Cluster 具有故障恢复、节点修复、数据同步、非单点故障等优点。 MySQL Cluster是为提供99.999%以上的高可用性而设计的,采用分布式节点设计技术,不会因为单点故障而使整个Cluster瘫痪。 MySQL Cluster由3类...

    MySQLCluster初步学习资料整理

    简单的说,MySQLCluster实际上是...架构如下图所示:这类节点的作用是管理MySQLCluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动

    MysqlCluster

    复制粘贴型的好文档 管理节点 数据节点 应用节点

    win2003服务器下配置 MySQL 群集(Cluster)的方法

    MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括 MySQL 服务器,NDB Cluster 的数据节点,管理服务器,以及(可能存在的)专门的数据访问程序。 管理服务器(MGM节点)负责管理 Cluster 配置文件...

    MySQL Cluster集群的初级部署教程

    主要介绍了MySQL Cluster集群的初级部署教程, MySql Cluster可以利用充分利用节点服务器的多进程做到高可用,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics