文档章节

18.5.13.3 在线增加 MySQL Cluster 数据节点: 详细例子

l
 liangkiller
发布于 2015/05/11 16:51
字数 862
阅读 30
收藏 1
点赞 0
评论 0

18.5.13.3 在线增加 MySQL Cluster 数据节点: 详细例子
https://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-online-add-node-example.html

MySQL Cluster开始有1个组2个节点,增加到2个组4个节点。

开始的配置

[ndbd default]
DataMemory = 100M
IndexMemory = 100M
NoOfReplicas = 2
DataDir = /usr/local/mysql/var/mysql-cluster

[ndbd]
Id = 1
Hostname = x.1

[ndbd]
Id = 2
Hostname = x.2

[ndb_mgmd]
Id = 10
Hostname = x.10

[mysqld]
Id = 20
Hostname = x.20

[mysqld]
Id = 21
Hostname = x.21

在数据节点ID段和其他节点ID段留下一段空白。为新加节点留下空间。
x 表示:192.168.0


Step 1: 修改config.ini

[ndbd default]
DataMemory = 100M
IndexMemory = 100M
NoOfReplicas = 2
DataDir = /usr/local/mysql/var/mysql-cluster

[ndbd]
Id = 1
Hostname = x.1

[ndbd]
Id = 2
Hostname = x.2

[ndbd]
Id = 3
Hostname = x.3

[ndbd]
Id = 4
Hostname = x.4

[ndb_mgmd]
Id = 10
Hostname = x.10

[mysqld]
Id = 20
Hostname = x.20

[mysqld]
Id = 21
Hostname = x.21


Step 2:重启管理节点

(1)使用管理客户端停止管理节点

ndb_mgm> 10 STOP


(2) 从shell启动管理节点。使用--reload或--initial选项来重载配置文件。

shell> ndb_mgmd -f config.ini --reload


Step 3:滚动重启现有的数据节点

ndb_mgm> 1 RESTART
ndb_mgm> 2 RESTART


可以通过检查ndbinfo.nodes表来查看数据节点是否使用新的配置。

Step 4:滚动重启API节点

shell> mysqladmin shutdown
shell> mysqld_safe --ndbcluster --ndb-connectstring=x.10 &


Step 5:使用--initial启动新的数据节点

shell> ndbd -c x.10 --initial


不同于重启已存在的数据节点要等待一个数据节点启动好,可以并行启动新数据节点。

查看新节点是否启动好

ndb_mgm> SHOW


Step 6:创建节点组,使用CREATE NODEGROUP,参数是数据节点ID

ndb_mgm> CREATE NODEGROUP 3,4
ndb_mgm> SHOW


Step 7:重分配集群数据
当创建一个新节点组时,现有的数据和索引不会自动分配到新的节点组数据节点

ndb_mgm> ALL REPORT MEMORY


使用ndb_desc查看分区信息。查看ips表的情况

shell> ndb_desc -c x.10 -d n ips -p


可以在mysqld里运行ALTER ONLINE TABLE table_name  REORGANIZE PARTITION 语句来重分配数据。

另外,对每一张,ALTER ONLINE TABLE 语句要跟着OPTIMIZE TABLE 回收浪费的空间。可以从INFORMATION_SCHEMA.TABLES里获取所有NDBCLUSTER的表。

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

NDBCLUSTER只有DDL操作能一次执行。必须等一个ALTER ONLINE TABLE ... REORGANIZE PARTITION 语句运行完才能运行下一个。

在新数据节点增加好后,新创建的表就不用ALTER ONLINE TABLE ...REORGANIZE PARTITION,会自动分发到所有节点。然后,之前的表如果没有ALTER ONLINE TABLE ... REORGANIZE PARTITION ,添加的新数据也不会分发到新数据节点。

可选过程,不用滚动重启

在配置时就先定义好节点组,但不使用。

[ndbd default]
DataMemory = 100M
IndexMemory = 100M
NoOfReplicas = 2
DataDir = /var/lib/mysql/
[ndbd]
Id = 1
Hostname = x.1
[ndbd]
Id = 2
Hostname = x.2
[ndbd]
Id = 3
Hostname = x.3
Nodegroup = 65536
[ndbd]
Id = 4
Hostname = x.4
Nodegroup = 65536
[ndb_mgmd]
Id = 10
Hostname = x.10
[mysqld]
Id = 20
Hostname = x.20
[mysqld]
Id = 21
Hostname = x.21

稍后上线的node 3,4可以配置为NodeGroup = 65536,node1,2启动

shell> ndbd -c 192.168.0.10 --initial

在管理节点配置NodeGroup=65536的数据节点就像 等待StartNoNodeGroupTimeout时间(默认15秒)后使用--nowait-nodes=3,4启动node1,2。

当想要增加第二节点组时,只需进行以下操作:

1 启动数据节点3,4

shell> ndbd -c 192.168.0.10 --initial


2 在管理节点使用CREATE NODEGROUP

ndb_mgm> CREATE NODEGROUP 3,4


3 在MYSQLD,为NDBCLUSTER表使用ALTER ONLINE TABLE ... REORGANIZE PARTITIION 和 OPTIMIZE TABLE 语句。


© 著作权归作者所有

共有 人打赏支持
l
粉丝 0
博文 1
码字总数 862
作品 0
厦门
MySQL Cluster 7.0 GA 发布

MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。在MyQL 5.0及以上的二进制版本中、以及与最新的...

红薯 ⋅ 2009/04/30 ⋅ 0

MySQL集群安装、负载均衡及备份恢复

MYSQL集群安装学习笔记 【一】服务器准备(操作系统linux皆可,我用的是RHEL6.4): 一个管理节点 10.101.4.32 两个数据节点 10.101.4.33 10.101.4.34 两个查询节点 10.101.4.36 10.101.4.3...

howlshadow ⋅ 2015/01/16 ⋅ 0

MySQL Cluster(MySQL 集群) 初试

MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。在MyQL 5.0及以上的二进制版本中、以及与最新的...

红薯 ⋅ 2009/04/29 ⋅ 12

[转载] MySQL Cluster 配置指南

网上看到一篇介绍 MySQL Cluster 配置指南的文章,发现真的很有参考价值,马上转录下来以供日后参考(本文出自 “持久之战的战场” 博客,请务必保留此出处http://vdata.blog.51cto.com/275...

长平狐 ⋅ 2012/11/19 ⋅ 0

阿里10年分布式数据库技术沉淀,AliSQL X-Cluster的应用实战

MySQL 数据库从诞生以来就以简单、易用、开源为主打特点,成为不少开发者首选的数据库系统。阿里集团在 2008 年开始提出"去 IOE"的口号,迈入了 MySQL 数据库的时代。系统使用大量的 MySQL,...

雪夜凋零 ⋅ 2017/08/09 ⋅ 0

MySQL Cluster 7.2 配置

MySQL Cluster 7.2.7 管理节点:192.168.1.10 数据节点:192.168.1.15、192.168.1.16 SQL 节点:192.168.1.20 添加 2 个数据节点:192.168.1.17、192.168.1.18 添加 1 个 SQL节点:192.168.1......

ohio ⋅ 2013/02/03 ⋅ 0

AliSQL X-Cluster基于X-Paxos的高性能强一致MySQL数据库

  【IT168 技术】MySQL数据库从诞生以来就以其简单、易用、开源为其主打特点,成为不少开发者首选的数据库系统。集团在2008年开始提出"去IOE"的口号,其中,使用大量的MySQL,配合业务的改...

it168网站 ⋅ 2017/08/03 ⋅ 0

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

1、前言 随着数据量规模的扩大,企业对 MySQL 的要求就不仅仅是能用了,也在寻求各种高可用方案。以前我们的大部分高可用方案其实还存在一定缺陷,例如 MySQL Replication 方案,Master 是否...

红薯 ⋅ 2010/02/16 ⋅ 6

MySQL Cluster(MySQL 集群) 初入测试

MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。在MyQL5.0及以上的二进制版本中、以及与最新的L...

English0523 ⋅ 2014/01/07 ⋅ 0

MariaDB Galera Cluster部署实践

官方文档: 一、 Galera Cluster的工作原理 主要关注点是数据一致性。 事务既可以应用于每个节点,也可以不全部应用。 所以,只要它们配置正确,数据库保持同步。 Galera复制插件不同于传统的...

IT技术栈 ⋅ 04/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

懒惰根本就不存在

简评:芝加哥大学心理学教授,懒惰根本就不存在。(本文表面讲行为心理学实则讲教育) 金句:以好奇而不是判断来回应一个人的无效行为,是非常有帮助的。 本文「我」代表原作者 E Price。 自...

极光推送 ⋅ 22分钟前 ⋅ 0

Excel提取单元格中最后一个“.”后面的数据

java.lang.String ----- String =TRIM((MID(SUBSTITUTE(B2,".",REPT(" ",99)),(LEN(B2)-LEN(SUBSTITUTE(B2,".","")))*99,99)))...

klog ⋅ 24分钟前 ⋅ 0

mac远程桌面

下载安装remote-desktop-mac Mac beta 客户端 mac通过远程桌面访问windows服务器。

亚林瓜子 ⋅ 28分钟前 ⋅ 0

firrtl

动手---sbt(2)之后,再回头看 chisel第一个实验,根据 https://github.com/freechipsproject/firrtl 发现firrtl没有执行sbt assembly命令,重新执行这个命令,结果成功。如下图: joe@joe-As...

whoisliang ⋅ 32分钟前 ⋅ 0

NIO

一、通道(Channel):用于源节点与目标节点的连接。在 Java NIO 中负责缓冲区中数据的传输。Channel 本身不存储数据,因此需要配合缓冲区进行传输。 二、通道的主要实现类 java.nio.channel...

stars永恒 ⋅ 32分钟前 ⋅ 0

Android悬浮窗的实现

0. 前言   现在很多应用都使用到悬浮窗,例如微信在视频的时候,点击Home键,视频小窗口仍然会在屏幕上显示。这个功能在很多情况下都非常有用。那么今天我们就来实现一下Android悬浮窗,以...

猴亮屏 ⋅ 33分钟前 ⋅ 0

日志采集中的关键技术分析

概述 日志从最初面向人类演变到现在的面向机器发生了巨大的变化。最初的日志主要的消费者是软件工程师,他们通过读取日志来排查问题,如今,大量机器日夜处理日志数据以生成可读性的报告以此...

tqyin ⋅ 34分钟前 ⋅ 0

使用Navicat将数据导出为text文本 然后再导入

将数据导出为text文本效率很高 1. 准备工作 1.1 准备表结构 1.2 目标库 执行生成表结构sql 2.将表数据导出为text文本 生成的text文本 3. 目标库 导入text 4.效果...

Lucky_Me ⋅ 40分钟前 ⋅ 0

IntelliJ IDEA 乱码解决方案 (项目代码、控制台等)

文章介绍了idea下,项目乱码、控制台乱码及运行tomcat控制台乱码的解决方案,文章链接:https://www.cnblogs.com/vhua/p/idea_1.html

Funcy1122 ⋅ 43分钟前 ⋅ 0

IDEA使用sonarLint

一、IDEA如何安装SonarLint插件 1.打开 Idea 2.点击【File】 3.点击【Settings】 4.点击【Plugins】 5.在搜索栏中输入“sonarlint”关键字 6.点击【Install】进行安装 7.重启Idea 二、IDEA如...

开源中国成都区源花 ⋅ 47分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部