配色: 字号:
mysql MHA
2015-03-17 | 阅:  转:  |  分享 
  


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&





献花(0)
+1
(本文系苏鱼鱼的IT...首藏)