mysql mha keepalive_MYSQL + MHA +keepalive + VIP安装配置

一、总概

1、MHA介绍

MHA(Master High Availability)是自动的master故障转移和Slave提升的软件包.它是基于标准的MySQL复制(异步/半同步).

MHA有两部分组成:MHA Manager(管理节点)和MHA Node(数据节点).

MHA Manager可以单独部署在一台独立机器上管理多个master-slave集群,也可以部署在一台slave上.MHA Manager探测集群的node节点,当发现master出现故障的时候,它可以自动将具有最新数据的slave提升为新的master,然后将所有其 它的slave导向新的master上.整个故障转移过程对应用程序是透明的。

MHA node运行在每台MySQL服务器上(master/slave/manager),它通过监控具备解析和清理logs功能的脚本来加快故障转移的。

2、MHA工作原理

-从宕机崩溃的master保存二进制日志事件(binlog events)。

-识别含有最新更新的slave。

-应用差异的中继日志(relay log)到其它slave。

-应用从master保存的二进制日志事件(binlog events)。

-提升一个slave为新master。

-使其它的slave连接新的master进行复制。

3、MHA工具包:

(1)、 Manager工具:

- masterha_check_ssh : 检查MHA的SSH配置。

- masterha_check_repl : 检查MySQL复制。

- masterha_manager : 启动MHA。

- masterha_check_status : 检测当前MHA运行状态。

- masterha_master_monitor : 监测master是否宕机。

- masterha_master_switch : 控制故障转移(自动或手动)。

- masterha_conf_host : 添加或删除配置的server信息。

(2)、 Node工具(这些工具通常由MHA Manager的脚本触发,无需人手操作)。

- save_binary_logs : 保存和复制master的二进制日志。

- apply_diff_relay_logs : 识别差异的中继日志事件并应用于其它slave。

- filter_mysqlbinlog : 去除不必要的ROLLBACK事件(MHA已不再使用这个工具)。

- purge_relay_logs : 清除中继日志(不会阻塞SQL线程)。

二、主机部署manager机.  manager安装.-.el6.noarch.rpm.   节点安装: mha4mysql-node-.-.el6.noarch.rpm.(备用master) 节点安装:mha4mysql-node-.-.el6.noarch.rpm

三、首先用ssh-keygen实现三台主机之间相互免密钥登录[manager--]、生成证书

shell> ssh-keygen -t rsa -b   shell> scp id_rsa.pub root@:.ssh/  shell> scp id_rsa.pub root@:.ssh/  在主机、中/root/.ssh/下 执行

cat id_rsa.pub >> authorized_keys测试无密登录到、ssh ssh [node--、]

重复执行上面的步骤。

通过ssh测试任何两台主机间两两可以无密登录。

注意:如果不能实现任何两台主机间两两可以无密登录,后面的步骤会有问题。

四、安装MHAmha4mysql-node,mha4mysql-manager 软件包

1、manager mha4mysql-manager软件安装>>>  - --0--0--0--0--0--0--0

说明有很多依赖包没有安装,解决方法:shell> wget shell> wget shell> wget shell> wget shell> wget shell> wget shell> wget

再安装shell> rpm -ivh mha4mysql-manager-0.53-0.el6.noarch.rpm

2、node MHAmha4mysql-node软件安装shell>wget http:

五、MHA的配置

1、管理机manager上配置MHA文件shell> mkdir -p /masterha/app1    shell> mkdir /etc/masterha        shell> vi /etc/masterha/app1.cnf  [server =root                password=sunney          manager_workdir==app1/==root            repl_user=sunney         repl_password=sunney     ping_interval=          ===lib/mysql candidate_master=               ===lib/=

2、masterha_check_ssh工具验证ssh信任登录是否成功[> masterha_check_ssh --conf=

注意:用ssh-keygen实现三台主机之间相互免密钥登录决定这一步是否成功。23 22 2014 -23 22 2014 -       .

成功!

3、masterha_check_repl工具验证mysql复制是否成功[> masterha_check_repl --conf=

注意:上一篇文章中的master--slaver是否成功决定这一步是否成功。或是MHA文件配置的用户账号有关。23 22 2014 -      19223 22 2014 -23 22 2014 -23 22 2014 -23 22 2014 -     0

成功。

4、启动MHA manager,并监控日志文件

5、测试master(231)宕机后,是否会自动切换[master--231]

shell>service mysql stop

copycode.gif[manager--201]

shell>tail -f tail -f /masterha/app1/manager.log-----日志显示如下------

-------- Failover Report -----app1: MySQL Master failover 192.168.1.231 to 192.168.1.232 succeeded

Master 192.168.1.231 is down!Check MHA Manager logs at localhost.localdomain:/masterha/app1/manager.log for details.

Started automated(non-interactive) failover.

The latest slave 192.168.1.232(192.168.1.232:3306) has all relay logs for recovery.

Selected 192.168.1.232 as a new master.192.168.1.232: OK: Applying all logs succeeded.

Generating relay diff files from the latest slave succeeded.192.168.1.232: Resetting slave info succeeded.

Master failover to 192.168.1.232(192.168.1.232:3306) completed successfully.

copycode.gif

6、故障转移后,用命令恢复原来的master

(1)、在旧master上执行

copycode.gif1.在旧master上执行

shell>service mysql start //数据库启动shell>mysql -usunney -psunney

mysql> reset master;

mysql> change master to master_host='192.168.1.232', master_port=3306, master_user='sunney', master_password='sunney', master_log_file='mysql-bin.000031', master_log_pos=112;

mysql> start slave;      #暂时先把旧master变为slave

copycode.gif

(2)然后在manager节点上:

shell> masterha_master_switch --master_state=alive --conf=/etc/masterha/app1.cnf

过程中一直输入YES;

这样的话mysql主从机进行了切换。可以测试一下数据在新的master(232)的表中新增数据后,在新slave(231)对应的表中是否已实现数据同步。

六、MHA已完成配置并进行了测试。但如果是程序连接数据库并不会自动切换IP,那我们如何实现呢,请期待一篇keepalive + VIP安装配置。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值