NDBCluster 安装

参考博文:centos65安装简测mysql cluster 7.3.7

1 设备信息

1.1 设备台数

服务器数量 2 台:172.16.112.28 和 172.16.112.29

1.2 服务器信息

CentOS release 6.8 (Final)      

2 NDB Cluster安装

2.1 安装规划

整个 NDB Cluster 一共5个节点:
172.16.112.28 分别做一个数据节点,SQL节点,管理节点
172.16.112.29 分别做一个数据节点,SQL节点,管理节点

2.2 下载

Mysql Cluster下载地址
选择MySQL Cluster 7.4版本,因为该版本的 Mysql 版本为 5.6.42,可根据自身需要选择版本。

image.png

2.3 卸载老版本的Mysql

如果系统内已经有Mysql服务了,需要先卸载后再进行安装,否则会报错。

rpm -qa | grep mysql
mysql-libs-5.1.73-7.el6.x86_64
yum -y remove mysql-libs-5.1.73-7.el6.x86_64  #卸载命令

2.4 创建用户和组

groupadd mysql
useradd -r -g mysql mysql
id mysql

2.5 安装数据节点和Mysql节点

tar -zxvf mysql-cluster-gpl-7.4.22-linux-glibc2.12-x86_64.tar.gz

因为是绿色版的,所以解压就已经安装完成了。直接放至 /usr/local/mysql/ 目录下即可。

mv mysql-cluster-gpl-7.4.22-linux-glibc2.12-x86_64 /usr/local/mysql

给 mysql 系统权限

 chown -R root:mysql /usr/local/mysql/
 chown -R mysql /usr/local/mysql/data/ 

进入 mysql 目录下

cd /usr/local/mysql/

创建MySQL Server系统表

scripts/mysql_install_db --user=mysql

配置数据库服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

设置数据库为开机启动

chkconfig --add mysqld

配置Mysql文件

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

需要新增这些配置信息在 /etc/my.cnf 上

[mysql_cluster]
ndb-connectstring = 172.16.112.28  //172.16.112.28 为管理节点
[mysqld]
ndbcluster

双管理节点的为

[mysql_cluster]
ndb-connectstring=172.16.112.28,172.16.112.29
[mysqld]
ndbcluster

到这里数据节点和管理节点就完成了,两台服务器都需要配置

2.6 部署管理节点

管理节点只需要在一台服务器上部署就可以了,我们选择 .28 这台来部署。
讲 ndb_mgm ndb_mgmd 这两个文件移动到 /usr/local/bin 下

cp mysql/bin/ndb_mgm* /usr/local/bin

配置管理节点配置文件

mkdir /var/lib/mysql-cluster
vi /var/lib/mysql-cluster/config.ini

新增如下配置信息

[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2    # Number of replicas
DataMemory=80M    # How much memory to allocate for data storage
IndexMemory=18M   # How much memory to allocate for index storage

[tcp default]
# TCP/IP options:

[ndb_mgmd]
# Management process options:
hostname=172.16.112.28          # Hostname or IP address of MGM node
datadir=/var/lib/mysql-cluster  # Directory for MGM node log files
NodeId=1

[ndbd]
# Options for data node-1:
                                # (one [ndbd] section per data node)
hostname=172.16.112.29            # Hostname or IP address
datadir=/usr/local/mysql/data   # Directory for this data node's data files
NodeId=2

[ndbd]
# Options for data node-2:
hostname=172.16.112.28            # Hostname or IP address
datadir=/usr/local/mysql/data   # Directory for this data node's data files
NodeId=3

[mysqld]
# SQL node options:
hostname=172.16.112.28            # Hostname

[mysqld]
# SQL node options:
hostname=172.16.112.29            # Hostname

双管理节点 config.ini 配置文件如下

[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
ServerPort=2202

[ndb_mgmd default]
DataDir= /var/lib/mysql-cluster
LogDestination=SYSLOG:facility=local0;FILE:filename=/var/lib/mysql-cluster/log.log

[tcp default]

[ndb_mgmd]
NodeId=1
HostName=172.16.112.28
DataDir=/var/lib/mysql-cluster

[ndb_mgmd]
NodeId=2
HostName=172.16.112.29
DataDir=/var/lib/mysql-cluster

[ndbd]
NodeId=3
HostName=172.16.112.29
DataDir=/usr/local/mysql/data

[ndbd]
NodeId=4
HostName=172.16.112.28
DataDir=/usr/local/mysql/data

[mysqld]
NodeId=5
HostName=172.16.112.28

[mysqld]
NodeId=6
HostName=172.16.112.29

到这管理节点就配置完成了。

2.7 启动集群

启动循序应该为:管理节点->数据节点->SQL节点

单管理节点集群启动管理方法

更改 confg.ini 后或者第一次启动应该使用以下

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

普通启动不需要加 --initial 参数

ndb_mgmd -f /var/lib/mysql-cluster/config.ini 
双管理节点集群启动管理方法

在 .28 那台服务器启动方法

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

在 .29 那台服务器启动方法

ndb_mgmd -c 172.16.112.28 --ndb-nodeid=2 -f /var/lib/mysql-cluster/config.ini

这里的--ndb-nodeid 应该为本台服务器的地址在配置文件中的节点 id 标识号,而且两台服务器的配置文件应该一样。

启动数据节点

第一次需要加 --initial 参数,后续不需要

/usr/local/mysql/bin/ndbd --initial

两台服务器的数据节点都要启动
这里需要防火墙开放 1186 端口

vim /etc/sysconfig/iptables

添加下面的记录到 iptables 表中

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1186 -j ACCEPT

重启防火墙

service iptables restart

启动SQL 节点

/etc/init.d/mysqld start

可用下面的命令检查是否启动成功,有进程则说明启动成功

ps -ef | grep mysql

2.7 关闭集群

关闭顺序应该为:SQL节点->数据节点->管理节点

关闭SQL节点

/etc/init.d/mysqld stop

关闭管理节点和数据节点

ndb_mgm -e shutdown

使用以上命令可以关闭管理节点和数据节点

3 NDB Cluster 使用

ndb_mgm 命令登录数据库

ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: 172.16.112.28:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3    @172.16.112.29  (mysql-5.6.42 ndb-7.4.22, Nodegroup: 0, *)
id=4    @172.16.112.28  (mysql-5.6.42 ndb-7.4.22, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @172.16.112.28  (mysql-5.6.42 ndb-7.4.22)

[mysqld(API)]   2 node(s)
id=5    @172.16.112.28  (mysql-5.6.42 ndb-7.4.22)
id=6    @172.16.112.29  (mysql-5.6.42 ndb-7.4.22)

ndb_mgm>

可以看到用 show 命令可以查看各个节点的信息

4 NDB Cluster 数据备份与恢复

4.1 数据备份

编辑配置文件

[ndbd default]
BackupDataDir=/data/mysql-cluster

在 [ndbd default] 项中加入备份目录,如果配置该项,备份目录默认为 /usr/local/mysql/data/BACKUP/
登录 ndb_mgm , 执行备份命令即可

start backup nowait
 Node 3: Backup 1 started from node 1
Node 3: Backup 1 started from node 1 completed
 StartGCP: 383 StopGCP: 386
 #Records: 2060 #LogRecords: 0
 Data: 52040 bytes Log: 0 bytes

这里需要记录备份 id ,如该次备份的 id = 1。

4.2 数据恢复

需要数据恢复时,启动数据节点应该带 --initial 参数,否则恢复会失败。
执行数据数据恢复命令

ndb_restore -b1 -n4 -m -r /data/mysql-cluster/BACKUP/BACKUP-1/

-b 备份id
-n NDB节点id
-m 恢复表定义
-r 备份路径
-c cluster管理节点连接

5 NDB Cluster常见问题

5.1 关于双管理节点集群有个管理节点连接不上的问题

  1. 可能是该管理节点没启动。
  2. 可能是服务器防火墙没开,请检查 /etc/sysconfig/iptables 文件是否开放了 1186端口
  3. 可能是两台服务器的 config.ini 配置文件不一样,请检查后做以下操作:
    主服务器上
ndb_mgmd --skip-config-cache -f /var/lib/mysql-cluster/config.ini

另一台服务器上

ndb_mgmd -c 172.16.112.28 --skip-config-cache --ndb-nodeid=2 -f /var/lib/mysql-cluster/config.ini

5.2 NDB Cluster 数据同步的问题

  1. 若需要数据同步的话,需要将表的引擎设置 engine=ndbcluster。
  2. 数据库不会自动同步,需要再同步的服务器新建相同名字的数据库,库里面的表单数据就会自己同步了,前提表的引擎为 ndbcluster。

5.3 关于数据恢复的问题

Backup Id = 4
Nodeid = 4
backup path = /data/mysql-cluster/BACKUP/BACKUP-4/
Opening file '/data/mysql-cluster/BACKUP/BACKUP-4/BACKUP-4.4.ctl'
File size 22368 bytes
Backup version in files: ndb-6.3.11 ndb version: mysql-5.6.42 ndb-7.4.22
Stop GCP of Backup: 3157

Failed to initialize consumers

NDBT_ProgramExit: 1 - Failed

恢复数据时发现报以上的错误,解决方法为:
编辑 config.ini 配置文件
新增一行

[mysqld]

其他不用理,重启 NDBCluster,再进行备份即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 31,894评论 2 89
  • 主:192.168.122.11从:192.168.122.22代理:192.168.122.33 主和从上分别是...
    不排版阅读 467评论 0 3
  • 十几年前刚参加工作的时候,爱人(当时还是女朋友)陪我一起在万顺眼镜超市选配了一副眼镜,金属材质、半框设计、蓝色主调...
    阿洪的木立方阅读 189评论 0 1
  • 当我们要去选择做交易的时候?首先我们需要思考这个交易市场是什么?股市期货市场是财富再分配的场所,是列宁主义党汲取财...
    长空资本阅读 142评论 0 0
  • 好久没遇见像泰戈尔的《沉船》这样的好书了,经得起细细品味,意犹未尽。《沉船》讲述的是印度封建制度下的四位青年男女主...
    YL梨花阅读 1,017评论 1 0