PXC5.6实验集群的安装与设置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PXC5.6实验集群的安装与设置
PXC5.6实验集群的安装与设置
⽬录
1.⽬的: (4)
2.集群构成: (5)
2.1.集群构成图: (5)
2.2.集群构成明细: (5)
3.安装设置操作步骤: (6)
3.1.安装Percona Yum Repository: (6)
3.2.安装EPEL源: (7)
3.3.安装PXC (7)
3.4.创建及设置数据⽬录 (8)
3.5.开通PXC相关IP端⼝ (9)
3.6.关闭SELinux (10)
3.7.设置f启动项⽂件 (10)
3.8.启动集群 (12)
4.通过HAProxy实现PXC集群负载均衡: (14)
4.1.安装HAProxy (14)
4.2.设置HAProxy (14)
4.3.启动HAProxy (16)
4.4.增加集群状态检查进程⽤Mysql⽤户权限 (16)
4.5.为集群每⼀个节点服务器安装xinetd (17)
4.6.配置xinetd (17)
4.7.通过HAProxy查看数据库集群状态: (18)
5.⽤Keepalived解决HAProxy单点故障: (20)
5.1.安装配置备份代理服务器 (20)
5.2.安装Keepalived (21)
5.3.在主HAProxy代理服务器中设置Keepalived (21)
5.4.在备份HAProxy代理服务器中设置Keepalived (23)
5.5.验证虚拟IP的漂移 (24)
6.问题排查及解决: (25)
6.1.ERROR 1047 (08S01): WSREP has not yet prepared node for application use (25)
1.⽬的:
本⼿册⽤于介绍如何通过在三台CentOS6.6服务器上安装PerconaXtraDB Cluster5.6,来搭建⼀个拥有三个数据节点的的
MySQL数据库集群。
以及如何⽤另外两
台CentOS6.6服务器,通过安装HAPrxoy+Keepalived来实现MySQL集群的负载均衡。
从⽽获得⼀个具备⾼可
⽤性的数据库集群。
本⼿册各章节详细介绍了每台服务器上需要安装的服务,以及各种服务的配置与启动的详细步骤。
2.集群构成:
2.1.集群构成图:
2.2.集群构成明细:
1、HAProxy+Keepalived主代理服务器
主机名:CentOS-L1
IP地址:192.168.82.40
2、HAProxy+Keepalived备份代理服务器
主机名:CentOS-L3
IP地址:192.168.82.41
3、PXC数据节点1
主机名:CentOS-W1
IP地址:192.168.82.29
4、PXC数据节点2
主机名:CentOS-W2
IP地址:192.168.82.30
5、PXC数据节点3
主机名:CentOS-W3
IP地址:192.168.82.31
以上服务器的系统版本皆为CentOS6.6。
⽤户名和密码都相同,为(root/root01);
3.安装设置操作步骤:
⾸先以root⽤户权限登录到Node1,安装与设置PXC5.6。
然后再以此登录到Node2和Node3进⾏⼏乎相同的安装与设置操作。
3.1.安装Percona Yum Repository:
⾸先通过rpm安装Percona testing repository(红字内容):
其次通过rpm安装Percona release repository(红字内容):
3.2.安装EPEL源:
如果不安装EPEL源(Extra Packages for Enterprise Linux)来获取额外的软件包,那就会在安装PXC发⽣Dependancy issue,被告知“requires socat”。
3.3.安装PXC
通过yum从Percona Yum Repository获取PXC Server、PXC Client、和PXC Galera(红字内容):
3.4.创建及设置数据⽬录
通过以下两个命令(红字内容)来分别创建和设置MySQL的数据⽬录:
在执⾏”mysql_install_db”命令时会输出⼀堆信息。
其中有⼀些重要的内容可供参考。
详见⼀下log⽂件:
mysql_install_db.log
3.5.开通PXC相关IP端⼝
PXC需要⽤到3306, 4444, 4567, 4568端⼝,在iptables中开通这些对这些端⼝的访问权限。
可以直接修
改/etc/sysconfig/iptables⽂件,也可以通过iptables命令来设置。
⽅法⼀如下所⽰,通过”vi”打开iptables⽂件,然后加⼊端⼝设置语句(红字部分):
字内容所⽰:
3.6.关闭SELinux
如果不关闭SELinux(Security-Enhanced Linux)安全控制系统的话会造成PXC启动失败。
因此需要通过修改/etc/selinux/config ⽂件中的设置,把” SELINUX=enforcing”变更为” SELINUX=disabled”。
如下红字内容所⽰:
(※注意:编辑并保存后必须重启CentOS系统才能使修改内容⽣效)
3.7.设置f启动项⽂件
在Node1中,/etc/f的内容如下红字所⽰:
⾸先启动Node1,如下红字内容所⽰:
Node1的MySQL root⽤户设置密码:
接下来为
最后启动Node3:
集群启动后可以通过在mysql控制台中运⾏”SHOW STATUS LIKE ‘wsrep%’”命令来获取集群的状态。
4.通过HAProxy实现PXC集群负载均衡:
我们通过HAProxy来实现PXC数据库集群的读写负载均衡问题。
在PXC集群之外再设置⼀台HAProxy代理服务器,所有应⽤程序对于数据集群的读写操作都发送给这台代理服务器,再由HAProxy决定某个读或者写的操作具体发送给集群中的哪台数据库服务器。
4.1.安装HAProxy
在PXC集群之外,单独准备⼀套系统⽤来安装HAProxy。
在本⽂档中该套系统的主机名为:CentOS-L1;IP地址为:
192.168.82.40;
⾸先确认在这套系统中已经安装了Percona以及EPEL的Yum Repository(参见3.1和3.2所⽰内容)。
然后通过以下命令安装HAProxy:# yum -y install haproxy
4.2.设置HAProxy
HAProxy的配置⽂件为“/etc/haproxy/haproxy.cfg”。
修改其默认
内容为如下⽂件所⽰:
haproxy.cfg
其中共定义了以下三个外部访问端⼝:
●集群运⾏状态HTTP协议访问端⼝:8080。
⽤于通过WEB页
⾯监控数据库集群中各节点的运⾏状态;
●集群单节点写⼊TCP协议访问端⼝:3306。
单节点写⼊,其
他节点通过PXC的SST功能进⾏同步。
可能会有数据延迟。
但不会发⽣乐观锁(optimisticlocking)回滚(rollback)引起的问题;
集群全节点读写TCP协议访问端⼝:3307。
同时对集群所有节点进⾏读写操作。
⼤多数情况都可以使⽤该⽅式实现数据库集群的负载均衡。
但会有乐观锁(optimisticlocking)回滚(rollback)造成数据错误的风险。
⼀个完整的”haproxy.cfg”配置⽂件内容如下图所⽰:
4.3.启动HAProxy
在启动HAProxy之前要修改防⽕墙配置,允许对8080、3306和3307三个端⼝访问。
如果防⽕墙确实⽆关紧要,也可以通过下⾯的命令来禁⽤它。
使⽤以下命令⼿动启动HAProxy:
也可以通过以下命令把HAProxy加⼊开启启动服务列表中:
4.4.增加集群状态检查进程⽤Mysql⽤户权限
以root登录到数据库集群任⼀节点的MySQL库中,通过以下SQL ⽂增加⼀个新的拥有”PROCESS”权限的⽤户:
由于变更了clustercheck进程默认使⽤的⽤户名和密码(默认为⽤户’clustercheckuser’;密码为’clustercheckpassword!’)。
因此需要分别修改所有集群节点的checkcluster脚本内容。
该脚本放置在/usr/bin⽬录下。
修改前为:
修改后为:
全部修改完成后运⾏clustercheck脚本检查集群状态:
4.5.为集群每⼀个节点服务器安装xinetd
确认/etc/xinetd.d/mysqlchk⽂件是否存在,其内容是否为如下所⽰:mysqlchk
如果该⽂件存在,且内容⽆误。
接下来在/etc/services⽂件中通过追加以下⼀⾏内容来添加新的服务:
把对端⼝9200的访问允许加⼊各集群节点的防⽕墙设置中。
4.7.通过HAProxy查看数据库集群状态:
在浏览器中通过访问HAProxy的
URL”http://192.168.82.40:8080/haproxy/stats”可以监控集群状态信息。
该URL的⽤户认证信息是
在“/etc/haproxy/haproxy.cfg”中定义的。
“stats authpxcstats:secret”,也就是⽤户名密码分别为“pxcstats”、“secret”。
认证成功后看到的监控画⾯如下:。