rpm mysql cluster_mysql-cluster 安装篇(3)---rpm简易安装法

周氏一族,整理技术文档,给下一代留点教程......

网络架构

192.168.0.202    管理节点(MGM)

192.168.0.203    存储节点(NDB)

192.168.0.204    查询节点(API)

准备材料(可以到官网下载,解压拿出来这两个包)

MySQL-Cluster-client-gpl-7.3.5-1.el6.x86_64.rpm

MySQL-Cluster-server-gpl-7.3.5-1.el6.x86_64.rpm

开始安装之前,还是再三告知,mgm管理节点,只需要bin/ndb_mgmd 和 bin/ndb_mgm ;ndb存储节点,只需要 bin/ndb_mgm,知道这一点,那么应该就很容易理解我们下面的配置了

192.168.0.202 配置如下:

1、清理本机自带任何跟mysql有关的包

[root@localhost ~]# rpm -qa |grep mysql

mysql-5.1.61-4.el6.x86_64

mysql-libs-5.1.61-4.el6.x86_64

mysql-devel-5.1.61-4.el6.x86_64

[root@localhost ~]# yum -y remove mysql-5.1.61-4.el6.x86_64 mysql-libs-5.1.61-4.el6.x86_64 mysql-devel-5.1.61-4.el6.x86_64

2、安装,因为mgm只需要用到mysql-cluster-server 这个包里面的两个bin文件,但是请注意,这里我是直接安装整个,虽然有点多此一举,不过算了啦,懒得去拿那两个包,直接rpm好了,自己知道就行了。

[root@localhost ~]# rpm -ivh MySQL-Cluster-server-gpl-7.3.5-1.el6.x86_64.rpm

Preparing...                ########################################### [100%]

1:MySQL-Cluster-server-gp########################################### [100%]

3、创建文件夹

[root@localhost ~]# mkdir /var/lib/mysql/data

[root@localhost ~]# mkdir /var/lib/mysql-cluster

[root@localhost ~]# mkdir /var/run/mysqld

[root@localhost ~]# chmod -R 1777 /var/lib/mysql

[root@localhost ~]# chmod -R 1777 /var/lib/mysql-cluster/

[root@localhost ~]# chmod -R 1777 /var/run/mysqld/

有必要解释一下,mysql/data 这个是存放数据库,mysql-cluster这个是管理节点配置路径,run/mysqld这个是mysql运行后台pid路径,当然,这些你都可以根据你自己需要修改。

4、进入/var/lib/mysql-cluster目录,创建config.ini配置文件;

[ndbd default]

NoOfReplicas=2

DataMemory=80M

IndexMemory=18M

[ndb_mgmd]

# IP address of the first management node

NodeId=1

hostname=192.168.0.202

datadir=/var/lib/mysql-cluster

[ndbd]

# IP address of the Storage Server (NDBD) node 1

hostname=192.168.0.203

datadir=/var/lib/mysql/data

[mysqld]

hostname=192.168.0.204

[mysqld]

[mysqld]

5、启动 管理 节点 服务,记得指定配置路径,否则系统会默认创建到[root@localhost ~]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/

MySQL Cluster Management Server mysql-5.6.17 ndb-7.3.5

[root@New_server ~]# 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 (not connected, accepting connect from 192.168.0.203)

[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.0.202  (mysql-5.6.17 ndb-7.3.5)

[mysqld(API)]   3 node(s)

id=3 (not connected, accepting connect from 192.168.0.204)

id=4 (not connected, accepting connect from any host)

id=5 (not connected, accepting connect from any host)

可以看到,起来了,但是,请注意下面三个情况:

情况一:如果,你是双管理节点,那么此时此刻,是不可能起来的,他要等另外一个管理节点的连接,报错如下[root@localhost ~]# ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> show

Connected to Management Server at: localhost:1186

ERROR Message: The cluster configuration is not yet confirmed by all defined management servers. This management server is still waiting for node 2 to connect.

Could not get configuration

*  4012: Failed to get configuration

*        The cluster configuration is not yet confirmed by all defined management servers. This management server is still waiting for node 2 to connect.

ndb_mgm>

情况二:如果你是双管理节点,而且两者都把管理节点服务启动了,并且,都正常,然后把其中一个管理节点关掉,另外一个管理节点show一下,没问题。

情况三:如果你是双管理节点,而且两者都把管理节点服务启动了,并且,都正常,然后把整个集群关闭,或者你就模拟意外断电,所有机器都shutdown,开机,你会发现,这时候的管理节点,一个也能show,不需要等待两个管理节点一起up才能show。

总结:

单管理节点,没有任何问题,直接启动服务,就能show

双管理节点,有问题,第一次,有且首次启动的时候,需要等待双方协商握手之后,才能完整,打个必须,两个人一起上洗手间,A上完了,不能走,必须等B也上完,才能一起牵手离开;但是,第二次的时候,A上完,就能独自离开了,因为它已经知道它还有另外一个B,心里知道就行了,不用管B的死活了。同样道理,B也是一样;

192.168.0.203 配置如下:

1、清理本机自带任何跟mysql有关的包

[root@localhost ~]# rpm -qa |grep mysql

mysql-5.1.61-4.el6.x86_64

mysql-libs-5.1.61-4.el6.x86_64

mysql-devel-5.1.61-4.el6.x86_64

[root@localhost ~]# yum -y remove mysql-5.1.61-4.el6.x86_64 mysql-libs-5.1.61-4.el6.x86_64 mysql-devel-5.1.61-4.el6.x86_64

2、安装,因为ndb只需要用到mysql-cluster-server 这个包里面的一个bin文件(ndbd),但是请注意,这里我是直接安装整个,有点多此一举。

[root@localhost ~]# rpm -ivh MySQL-Cluster-server-gpl-7.3.5-1.el6.x86_64.rpm

Preparing...                ########################################### [100%]

1:MySQL-Cluster-server-gp########################################### [100%]

3、创建文件夹

[root@localhost ~]# mkdir /var/lib/mysql/data

[root@localhost ~]# mkdir /var/lib/mysql-cluster

[root@localhost ~]# mkdir /var/run/mysqld

[root@localhost ~]# chmod -R 1777 /var/lib/mysql

[root@localhost ~]# chmod -R 1777 /var/lib/mysql-cluster/

[root@localhost ~]# chmod -R 1777 /var/run/mysqld/

有必要解释一下,mysql/data 这个是存放数据库,mysql-cluster这个是管理节点配置路径,run/mysqld这个是mysql运行后台pid路径,当然,这些你都可以根据你自己需要修改。

4、创建/etc/my.cnf[client]

socket=/var/lib/mysql/mysql.sock

[mysqld]

max_connections=100

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[mysql_cluster]

ndb-connectstring=192.168.0.202

5、启动ndb节点

[root@localhost ~]# ndbd --initial

2014-07-15 19:12:35 [ndbd] INFO     -- Angel connected to '192.168.0.202:1186'

2014-07-15 19:12:35 [ndbd] INFO     -- Angel allocated nodeid: 2

6、到管理节点,show 一下看看ndb_mgm> show

Cluster Configuration

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

[ndbd(NDB)]     1 node(s)

id=2    @192.168.0.203  (mysql-5.6.17 ndb-7.3.5, starting, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.0.202  (mysql-5.6.17 ndb-7.3.5)

[mysqld(API)]   3 node(s)

id=3 (not connected, accepting connect from 192.168.0.204)

id=4 (not connected, accepting connect from any host)

id=5 (not connected, accepting connect from any host)

很明显,已经连接上来了。

192.168.0.204 配置如下:

1、清理本机自带任何跟mysql有关的包

[root@localhost ~]# rpm -qa |grep mysql

mysql-5.1.61-4.el6.x86_64

mysql-libs-5.1.61-4.el6.x86_64

mysql-devel-5.1.61-4.el6.x86_64

[root@localhost ~]# yum -y remove mysql-5.1.61-4.el6.x86_64 mysql-libs-5.1.61-4.el6.x86_64 mysql-devel-5.1.61-4.el6.x86_64

2、安装,mysql-cluster-server 和 mysql-cluster-client

[root@localhost ~]# rpm -ivh MySQL-Cluster-server-gpl-7.3.5-1.el6.x86_64.rpm

Preparing...                ########################################### [100%]

1:MySQL-Cluster-server-gp########################################### [100%]

[root@localhost ~]# rpm -ivh MySQL-Cluster-client-gpl-7.3.5-1.el6.x86_64.rpm

Preparing...                ########################################### [100%]

1:MySQL-Cluster-client-gp########################################### [100%]

3、创建文件夹

[root@localhost ~]# mkdir /var/lib/mysql/data

[root@localhost ~]# mkdir /var/lib/mysql-cluster

[root@localhost ~]# mkdir /var/run/mysqld

[root@localhost ~]# chmod -R 1777 /var/lib/mysql

[root@localhost ~]# chmod -R 1777 /var/lib/mysql-cluster/

[root@localhost ~]# chmod -R 1777 /var/run/mysqld/

有必要解释一下,mysql/data 这个是存放数据库,mysql-cluster这个是管理节点配置路径,run/mysqld这个是mysql运行后台pid路径,当然,这些你都可以根据你自己需要修改。

4、创建/etc/my.cnf[client]

socket=/var/lib/mysql/mysql.sock

[mysqld]

max_connections=100

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

ndbcluster

ndb-connectstring=192.168.0.202

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

5、启动sql服务

[root@localhost ~]# /etc/init.d/mysql start

Starting MySQL....... SUCCESS!

[root@localhost ~]#

6、到管理节点,show一下,看看mysql—api是不是已经起来ndb_mgm> show

Cluster Configuration

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

[ndbd(NDB)]     1 node(s)

id=2    @192.168.0.203  (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0, *)

[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.0.202  (mysql-5.6.17 ndb-7.3.5)

[mysqld(API)]   3 node(s)

id=3    @192.168.0.204  (mysql-5.6.17 ndb-7.3.5)

id=4 (not connected, accepting connect from any host)

id=5 (not connected, accepting connect from any host)

7、到此,整个集群算是完成。

问题总结:

1、如果要扩大集群,例如增加一台ndb节点,那要怎么搞

管理节点,删除/var/lib/mysql-cluster/ 下面ndb开头的所有文件

管理节点,修改/var/lib/mysql-cluster/config.ini,增加ndb集群id和hostname

存储节点,修改my.cnf,增加[mysql_cluster]ndb-connectstring=192.168.0.202

2、如果,有一天,突然,想把203这台ndb节点,附加上api节点,那么就会有一个蛋疼的事情出现,理论上,mysql-cluster各个节点,都是独立的,管它是同一台还是不同台,都是正常的;但是,如果你加上去的话,你就要注意一个事情

同一台机器的 ndb 节点和 sql节点,必须ndb节点先启动,才能启动sql节点,否则sql节点,是永远都连不上集群,千万切忌,我就是纠结这个问题,老是不启动ndb节点,在疑问自己,为什么sql节点启动了,管理节点看不到sql节点状态。

3、关闭集群的命令

先关闭  查询节点  mysqladmin -uroot -p shutdown  密码在 /root/.mysql_secret

再关闭 集群节点   ndb_mgm -e shutdown

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值