资源由 www.eimhe.com 美河学习在线收集提供
Mysql 分布式集群
部
署
一、场景描述:
使用环境:64 位 centos6.4
数据库 Master 主服务器(两台):10.18.12.152,10.18.12.153
数据库 Slave 从服务器(两台,即 sql 及存储节点):10.18.12.154,10.18.12.155
MySQL-Proxy 调度服务器:10.18.12.157
资源由 www.eimhe.com 美河学习在线收集提供
二、集群介绍:
集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平
台。在客户端看来,一个集群就像是一个服务实体,但事实上集群由一组服务实体组成。与
单一服务实体相比,集群提供了以下两个关键特性:
·可扩展性——集群性能不限于单一服务实体,新的服务实体可以动态地加入到集群,从而
增强集群性能。简单说就是如果存储节点不够的时候我们可以快速的添加新的借点进入应
用。
·高可用性——集群通过服务实体冗余可使客户端免于轻易遇到 out of service 的警告。在集
群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会
接管失败的服务实体。集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增强
了应用可用性。
三、系统安装
1、下载:
访问:
2、系统安装:
为 5 台机器全部安装 64 位 centos6.4 并配置好网络:
数据库 Master 主服务器(两台):10.18.12.152,10.18.12.153
数据库 Slave 从服务器(两台,即 sql 及存储节点):10.18.12.154,10.18.12.155
MySQL-Proxy 调度服务器:10.18.12.157
资源由 www.eimhe.com 美河学习在线收集提供
四、分布式集群配置
1、准备工作:
1>下载 Mysql:访问地址
http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.5-linux-glibc2.5-x
86_64.tar.gz 直接下载
2>服务器安装并进行基础配置:
iptables -F
groupadd mysql
useradd mysql -g mysql
http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz
tar xvf mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz
mv mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64 /usr/local/mysql
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql
chown -R mysql data
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
2、主服务器(管理节点)配置:
主节点[10.18.12.152,10.18.12.153](/etc/my.cnf)
[mysqld]
default-storage-engine = NDBCLUSTER
ndbcluster
ndb-connectstring=10.18.12.152,10.18.12.153
[ndbd]
connect-string=10.18.12.154,10.18.12.155
[ndb_mgm]
connect-string=10.18.12.152,10.18.12.153
资源由 www.eimhe.com 美河学习在线收集提供
[mysql_cluster]
ndb-connectstring=10.18.12.152,10.18.12.153
3、从服务器配置:
存储/sql 节点[10.18.12.4,10.18.12.5](/etc/my.cnf)
[mysqld]
basedir = /usr/local/mysql/
datadir = /usr/local/mysql/data
user = mysql
port = 3306
default-storage-engine = NDBCLUSTER
ndbcluster
ndb-connectstring=10.18.12.152,10.18.12.153
[ndbd]
connect-string=10.18.12.154,10.18.12.155
[ndb_mgm]
connect-string=10.18.12.152,10.18.12.153
[mysql_cluster]
ndb-connectstring=10.18.12.152,10.18.12.153
说明:
Cluster 管理节点的默认端口是 1186,数据节点的默认端口 2202。从 MySQL 5.0.3 开始,该
限制已被放宽, Cluster 能够根据空闲的端口自动地为数据节点分配端口。如果你的版本低
于 5.0.22,请注意这个细节。
4、启动管理节点:
较为合理的启动顺序是,首先启动管理节点(MGM)服务器,然后启动存储节点(ndbd)服务器
(开始启动 ndbd 节点时,不少于两个 NDBD 节点被启动.),最后才启动 SQL 节点服务器:
在管理节点(MGM)服务器上,执行以下命令启动 MGM 节点进程:
资源由 www.eimhe.com 美河学习在线收集提供
/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
必须用参数“-f”告诉 ndb_mgm 配置文件所在位置,默认是在 ndb_mgmd 相同目录下。
5、查看管理节点:
首先输入:/usr/local/mysql/bin/ndb_mgm
其次输入:ndb_mgm> show
最后会显示如下信息:
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3 @10.18.12.154 (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0, *)
id=4 @10.18.12.155 (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0)
[ndb_mgmd(MGM)] 2 node(s)
id=1 @10.18.12.152 (mysql-5.6.17 ndb-7.3.5)
id=2 @10.18.12.153 (mysql-5.6.17 ndb-7.3.5)
[mysqld(API)] 2 node(s)
id=5 @10.18.12.154 (mysql-5.6.17 ndb-7.3.5)
id=6 @10.18.12.155 (mysql-5.6.17 ndb-7.3.5)
可以看到 ndb_mgmd 是 连上的。
6、启动存储节点:
在每台存储节点(ndbd)服务器上,如果是第一次启动 ndbd 进程的话,必须先执行以下命令:
/usr/local/mysql/bin/ndbd --initial
注意,仅应在首次启动 ndbd 时,或在备份/恢复数据或配置文件发生变化后重启 ndbd 时使
用“--initial”参数。因为该参数会使节点删除由早期 ndbd 实例创建的、用于恢复的任何文
件,包括用于恢复的日志文件。
资源由 www.eimhe.com 美河学习在线收集提供
如果不是第一次启动,直接运行如下命令即可:
/usr/local/mysql/bin/ndb
可以通过 root# /usr/local/mysql/bin/ndb --help 得到 ndbd 命令的帮助信息
7、启动 Mysql 节点服务器:
第一次先安装数据库:
cd /usr/local/mysql/ #不进入这个目录下面执行不成功
/usr/local/mysql/scripts/mysql_install_db --user=mysql
启动执行:
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
如果一切顺利,也就是启动过程中没有任何错误信息出现,那么就在管理节点服务器上运行
如下命令:
root# /usr/local/mysql/ndb_mgm
-- NDB Cluster -- Management Client -- ndb_mgm
ndb_mgm> show
打印内容为:
Connected to Management Server at: 10.18.12.152:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3 @10.18.12.154 (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0, *)
id=4 @10.18.12.155 (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0)
[ndb_mgmd(MGM)] 2 node(s)
id=1 @10.18.12.152 (mysql-5.6.17 ndb-7.3.5)
id=2 @10.18.12.153 (mysql-5.6.17 ndb-7.3.5)
[mysqld(API)] 2 node(s)
id=5 (not connected, accepting connect from 10.18.12.154)
资源由 www.eimhe.com 美河学习在线收集提供
id=6 @10.18.12.155 (mysql-5.6.17 ndb-7.3.5)
8、创建数据库表,简单查看配置效果:
在从服务器或者调度服务器中建表,可在主服务器和和其他从服务器及调度服务器实现同步
Copy 备份。
注:由于为分布式集群,所以,在 Mysql 中创建的表的存储引擎必须修改为:NDB Cluster
9、安全关闭:
要想关闭 Cluster,可在 MGM 节点所在的机器上,在 Shell 中简单地输入下述命令:
/usr/local/mysql/bin/ndb_mgm shutdown
运行以下命令关闭 SQL 节点的 mysqld 服务:
/usr/local/mysql/bin/mysqladmin -uroot shutdown