Mysql的MHA高可用搭建
一.MHA特性
1.主服务器的自动监控和故障转移???MHA监控复制架构的主服务器,一旦检测到主服务器故障,就会自动进行故障转移。即使有些从服务器没有收到最新的relaylog,MHA自动从最新的从服务器上识别差异的relaylog并把这些日志应用到其他从服务器上,因此所有的从服务器保持一致性了。MHA通常在几秒内完成故障转移,9-12秒可以检测出主服务器故障,7-10秒内关闭故障的主服务器以避免脑裂,几秒中内应用差异的relaylog到新的主服务器上,整个过程可以在10-30s内完成。还可以设置优先级指定其中的一台slave作为master的候选人。由于MHA在slaves之间修复一致性,因此可以将任何slave变成新的master,而不会发生一致性的问题,从而导致复制失败。
总体拓扑图
同步三台服务器的时间
关闭三台服务器的防火墙和selinux
在三台设备上都安装mysql安装过程(略)
在三台设备上都安装node节点
只在master上安装manger节点和node节点
节点安装:
1.首先安装网络yum源
[root@mastersql~]#rpm-ivhepel-release-6-8.noarch.rpm
epel包最好安装最新的版本
下载地址:http://pkgs.org/centos-6/epel-i386/
2.安装节点依赖包
yum-yinstallperl-DBD-MySQLncftp
安装节点包
rpm-ivhm_ha4mysql-node-0.54-0.el6.noarch.rpm
节点包最好用适用于系统版本的包(我的是Centos6.5)
4.安装管理节点依赖包
yum-yinstallperl-DBD-MySQLperl-Config-Tinyperl-Log-Dispatchperl-Parallel-ForkManagerperl-Time-HiRes
安装管理包(只在master上安装)
rpm-ivhm_ha4mysql-manager-0.55-0.el6.noarch.rpm
修改/etc/hosts三台服务器都要配置
修改mysql的主配置文件
192.168.100.31/etc/my.cnf
192.168.100.32
192.168.100.33/etc/my.cnf
重启mysql
Servicemysqlrestart
在master上配置##repl用户后面会用到
grantreplicationslave,replicationclienton.torepl@''192.168.100.%''identifiedby''repl'';
GRANTALLPRIVILEGESON.TO''repl''@''localhost''IDENTIFIEDBY''repl''WITHGRANTOPTION;
Flushprivileges;
showmasterstatus;---------记住position号码(366)
Vim/etc/masterha/appl.cnf
配置SSH免密码登陆
Master(31)上:
ssh-keygen-trsa
ssh-copy-id-i.ssh/id_rsa.pub?root@192.168.100.31?-----为什么要在本机也要设置呢,因为manager节点安装在这上面,如不设置在下面ssh检查时会通不过。
ssh-copy-id-i.ssh/id_rsa.pub?root@192.168.100.32
ssh-copy-id-i.ssh/id_rsa.pub?root@192.168.100.33
Manger(33)上:
ssh-keygen-trsa
ssh-copy-id-i.ssh/id_rsa.pubroot@192.168.100.31
ssh-copy-id-i.ssh/id_rsa.pubroot@192.168.100.32
Slave(32)上:
ssh-keygen-trsa
ssh-copy-id-i.ssh/id_rsa.pubroot@192.168.100.31
ssh-copy-id-i.ssh/id_rsa.pubroot@192.168.100.33
检查下SSH公钥免密码登录
masterha_check_ssh--conf=/etc/masterha/app1.cnf
检查MySQL复制
masterha_check_repl--conf=/etc/masterha/appl.cnf
都OK的话可以开启MHA进程了
Masterha_manager--conf=/etc/masterha/appl.cnf
也可后台运行
nohup/usr/bin/masterha_manager--conf=/etc/masterha/appl.cnf&
|
|