安装mysql5.8集群_MySQL Cluster集群安装全纪录

MySQL Cluster集群安装全纪录

时间:2013-03-21 18:21来源:CU 编辑:CU 点击:

CentOS 5.8系统、32位cpu(注意不同的系统和cpu要下不同的版本) 参考文档:http://starcat.dp.ua/doc/mysql-5.0/mysql-cluster.html 5个安装软件包: MySQL-Cluster-gpl-client-7.1.24-1.rhel5.i386.rpm MySQL-Cluster-gpl-mana

CentOS 5.8系统、32位cpu(注意不同的系统和cpu要下不同的版本)

参考文档:http://starcat.dp.ua/doc/mysql-5.0/mysql-cluster.html

5个安装软件包:

MySQL-Cluster-gpl-client-7.1.24-1.rhel5.i386.rpm

MySQL-Cluster-gpl-management-7.1.24-1.rhel5.i386.rpm

MySQL-Cluster-gpl-server-7.1.24-1.rhel5.i386.rpm

MySQL-Cluster-gpl-storage-7.1.24-1.rhel5.i386.rpm

MySQL-Cluster-gpl-tools-7.1.24-1.rhel5.i386.rpm

下载地址:http://www.mysql.com/downloads/cluster/7.1.html

3台CentOS服务器:

SQL节点(mysqld): 172.1.1.54

数据节点(ndbd): 172.1.1.55

管理节点(ndb_mgmd): 172.1.1.168

最好按以下的安装顺序安装:首先是管理节点,然后是数据节点,最后是SQL节点。

一、管理节点安装:

[root@172-1-1-168 ~]# wget http://cdn.mysql.com/Downloads/M ... 24-1.rhel5.i386.rpm

[root@172-1-1-168 ~]# wget http://cdn.mysql.com/Downloads/M ... 24-1.rhel5.i386.rpm

[root@172-1-1-168 ~]# rpm -ivh MySQL-Cluster-gpl-management-7.1.24-1.rhel5.i386.rpm

[root@172-1-1-168 ~]# rpm -ivh MySQL-Cluster-gpl-tools-7.1.24-1.rhel5.i386.rpm

[root@172-1-1-168 ~]# mkdir /var/lib/mysql-cluster

[root@172-1-1-168 ~]# vim /var/lib/mysql-cluster/config.ini

[ndbd default]

NoOfReplicas=1

DataMemory=80M

IndexMemory=18M

[tcp default]

SendBufferMemory=2M

ReceiveBufferMemory=2M

[NDB_MGMD DEFAULT]

PortNumber=1186

Datadir=/var/lib/mysql-cluster

[ndb_mgmd]

NodeId=1

HostName=172.1.1.168

[ndbd]

NodeId=2

HostName=172.1.1.55

datadir=/var/lib/mysql-data

[mysqld]

NodeId=3

HostName=172.1.1.54

//启动管理节点

[root@172-1-1-168 ~]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini

MySQL Cluster Management Server mysql-5.1.63 ndb-7.1.24

这样管理节点就安装成功了!

注意:NoOfReplicas的数字要和数据节点的数量一样!

此外安装时如果碰到以下问题:

package MySQL-Cluster-gpl-management-7.1.24-1.rhel5.i386 is already installed

可以用下面办法解决:

[root@172-1-1-168 ~]# rpm -qa | grep -i '^mysql-'

MySQL-Cluster-gpl-management-7.1.24-1.rhel5

[root@172-1-1-168 ~]# rpm --nodeps -ev MySQL-Cluster-gpl-management-7.1.24-1.rhel5

二、数据节点安装:

[root@172-1-1-55 ~]# wget http://cdn.mysql.com/Downloads/M ... 24-1.rhel5.i386.rpm

[root@172-1-1-55 ~]# rpm -ivh MySQL-Cluster-gpl-storage-7.1.24-1.rhel5.i386.rpm

[root@172-1-1-55 ~]# mkdir /var/lib/mysql-data

[root@172-1-1-55 ~]# chmod 0777 /var/lib/mysql-data -R

[root@172-1-1-55 ~]# vim /etc/my.cnf

[mysqld]

max_connections = 100

slow_query_log = /var/lib/mysql-cluster/slow_query.log

long_query_time = 1

datadir = /var/lib/mysql-cluster

ndbcluster

ndb-connectstring = 172.1.1.168:1186

[mysql_cluster]

ndb-connectstring = 172.1.1.168:1186

//启动数据节点

[root@172-1-1-55 ~]# ndbd --initial

2012-11-13 00:45:47 [ndbd] INFO -- Angel connected to '172.1.1.168:1186'

2012-11-13 00:45:47 [ndbd] INFO -- Angel allocated nodeid: 2

这样存储节点就安装成功了!

注意:(网上这么说未验证)ndbd --initial 不能同时在所有数据节点机器上执行,否者会删除所有数据.即该命令只能在其中一台数据节点中执行!

安装后第一次启动数据节点时要加上--initial参数,其它时候不要加,除非是在备份、恢复或配置变化后重启时!

三、SQL节点的安装:

[root@172-1-1-54 ~]# wget http://cdn.mysql.com/Downloads/M ... 24-1.rhel5.i386.rpm

[root@172-1-1-54 ~]# wget http://cdn.mysql.com/Downloads/M ... 24-1.rhel5.i386.rpm

[root@172-1-1-54 ~]# rpm -ivh MySQL-Cluster-gpl-server-7.1.24-1.rhel5.i386.rpm

[root@172-1-1-54 ~]# rpm -ivh MySQL-Cluster-gpl-client-7.1.24-1.rhel5.i386.rpm --nodeps --force

[root@172-1-1-54 ~]# vim /etc/my.cnf

[mysqld]

ndbcluster

ndb-connectstring=172.1.1.168:1186

[mysql_cluster]

ndb-connectstring=172.1.1.168:1186

//启动SQL节点

[root@172-1-1-54 ~]# mysqld_safe

121112 23:47:25 mysqld_safe Logging to '/var/lib/mysql/172-1-1-168.lightspeed.hstntx.sbcglobal.net.err'.

121112 23:47:26 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

121112 23:48:01 mysqld_safe mysqld from pid file /var/lib/mysql/172-1-1-168.lightspeed.hstntx.sbcglobal.net.pid ended

这样SQL节点就安装成功了!

这个节点需要关闭1186和3306端口的防火墙(网上这么说但我未处理也能启动成功)!

四、验证各节点:

在管理节点的机子下(172.1.1.168)

[root@172-1-1-168 ~]# ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> show

Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)] 1 node(s)

id=2 @172.1.1.55 (mysql-5.1.63 ndb-7.1.24, Nodegroup: 0, Master)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @172.1.1.168 (mysql-5.1.63 ndb-7.1.24)

[mysqld(API)] 1 node(s)

id=3 @172.1.1.54 (mysql-5.1.63 ndb-7.1.24)

如果出现上面的信息说明全部安装成功了!

如果出现not connected, accepting connect from any host是节点没有启动。

如果出现mysql-5.1.63 ndb-7.1.24, starting, Nodegroup: 0是数据节点已启动但sql节点未启动。

如何你的配置都没有错的话,那可能和你的防火墙设置有关!

五、动态更新节点

1、首先关闭全部ndb和sql节点:

注意关闭顺序:首先是SQL节点,然后是数据节点,最后是管理节点。

sql节点在sql节点上执行:

[root@172-1-1-54 ~]# service mysql stop

Shutting down MySQL.... [确定]

停止sql节点有点慢,不要用/etc/init.d/mysql restart。

ndb节点在管理节点上执行:

[root@172-1-1-168 ~]# ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> all stop

Executing STOP on all nodes.

Node 2: Cluster shutdown initiated

Node 2: Node shutdown completed.

NDB Cluster has shutdown.

注意不能停止单个(网上说可以但本人尝试失败),否则会报如下错误:

Node 2: Node shutdown aborted

Shutdown failed.

* 2002: Stop failed

* Node shutdown would cause system crash: Permanent error: Application error

最后关闭管理节点!下面1 stop表示关闭管理节点,因为管理节点NodeId是1。

[root@172-1-1-168 ~]# ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> 1 stop

Node 1 has shutdown.

Disconnecting to allow Management Server to shutdown

ndb_mgm> exit;

2、紧接着安装新的SQL节点和数据节点!

在172.1.1.55上同样执行上面“二、SQL节点的安装”的命令!

在172.1.1.54上同样执行上面“三、数据节点安装”的命令!

3、接下来就是重启各节点:

注意启动顺序:首先是管理节点,然后是数据节点,最后是SQL节点。

[root@172-1-1-168 ~]# vim /var/lib/mysql-cluster/config.ini

[ndbd]

NodeId=4

HostName=172.1.1.54

datadir=/var/lib/mysql-data

[mysqld]

NodeId=5

HostName=172.1.1.55

[root@172-1-1-168 ~]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini --reload

MySQL Cluster Management Server mysql-5.1.63 ndb-7.1.24

//启动数据节点

[root@172-1-1-55 ~]# ndbd --initial

2012-11-13 00:45:47 [ndbd] INFO -- Angel connected to '172.1.1.168:1186'

2012-11-13 00:45:47 [ndbd] INFO -- Angel allocated nodeid: 2

//启动SQL节点

[root@172-1-1-54 ~]# mysqld_safe

121112 23:47:25 mysqld_safe Logging to '/var/lib/mysql/172-1-1-168.lightspeed.hstntx.sbcglobal.net.err'.

121112 23:47:26 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

121112 23:48:01 mysqld_safe mysqld from pid file /var/lib/mysql/172-1-1-168.lightspeed.hstntx.sbcglobal.net.pid ended

这样就动态更新节点成功了!

注意:修改NoOfReplicas的数字以保持和数据节点的数量一致!

都做完了在管理节点上show一下看看结果!如果不生效的话可能要考虑重启服务器!

[root@172-1-1-168 ~]# ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> show

Cluster Configuration

---------------------

[ndbd(NDB)] 2 node(s)

id=2 @172.1.1.55 (mysql-5.1.63 ndb-7.1.24, Nodegroup: 0, Master)

id=4 @172.1.1.54 (mysql-5.1.63 ndb-7.1.24, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @172.1.1.168 (mysql-5.1.63 ndb-7.1.24)

[mysqld(API)] 2 node(s)

id=3 @172.1.1.54 (mysql-5.1.63 ndb-7.1.24)

id=5 @172.1.1.55 (mysql-5.1.63 ndb-7.1.24)

六、同步测试

从SQL节点172-1-1-54登录,创建数据库和表,进行简单测试。

mysql> create database yjzzjtest;

mysql> use yjzzjtest;

Database changed

mysql> create table yjzzj(id int,name varchar(10)) engine=ndb;

mysql> insert into yjzzj values(1,'rschome.com');

mysql> select * from yjzzj;

+------+------------+

| id | name |

+------+------------+

| 1 | rschome.com |

+------+------------+

1 row in set (0.01 sec)

登陆SQL节点172-1-1-168,查看效果,库,表和数据已经同步。

从B节点插入一条数据,同样登陆A,也能看到数据已经同步。

------分隔线----------------------------

标签:mysqlCluster集群

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值