专栏首页乐沙弥的世界MHA 切换的2个异常(masterha_master_switch line 53)

MHA 切换的2个异常(masterha_master_switch line 53)

        MHA 在测试手动故障转移和在线切换的过程中,碰到了2个比较诡异的问题,在使用IP地址调用的时候均无法测试成功,出现了Detected dead master xxx does not match with specified dead master以及xxx is not alive。下面是这2个错误问题的描述及解决方案。

1、MHA配置文件 [root@vdbsrv4 ~]# more /etc/masterha/app1.cnf [server default] manager_workdir=/var/log/masterha/app1 manager_log=/var/log/masterha/app1/manager.log

user=mha password=xxx ssh_user=root repl_user=repl   repl_password=repl   ping_interval=1 shutdown_script="" master_ip_online_change_script="" report_script="" #master_ip_failover_script=/usr/bin/master_ip_failover master_ip_failover_script=/tmp/master_ip_failover [server1] hostname=vdbsrv1 master_binlog_dir=/data/mysqldata

[server2] hostname=vdbsrv2 master_binlog_dir=/data/mysqldata

[server3] hostname=vdbsrv3 master_binlog_dir=/data/mysqldata/ #candidate_master=1

2、手动故障转移时的错误提示 [root@vdbsrv4 ~]# masterha_master_switch --master_state=dead --conf=/etc/masterha/app1.cnf --dead_master_host=192.168.1.6 \ > --dead_master_port=3306 --new_master_host=192.168.1.8 --new_master_port=3306 --ignore_last_failover --dead_master_ip=<dead_master_ip> is not set. Using 192.168.1.6. Wed Apr 21 09:08:30 2015 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping. Wed Apr 21 09:08:30 2015 - [info] Reading application default configuration from /etc/masterha/app1.cnf.. Wed Apr 21 09:08:30 2015 - [info] Reading server configuration from /etc/masterha/app1.cnf.. Wed Apr 21 09:08:30 2015 - [info] MHA::MasterFailover version 0.56. Wed Apr 21 09:08:30 2015 - [info] Starting master failover. Wed Apr 21 09:08:30 2015 - [info] Wed Apr 21 09:08:30 2015 - [info] * Phase 1: Configuration Check Phase.. Wed Apr 21 09:08:30 2015 - [info] Wed Apr 21 09:08:31 2015 - [info] GTID failover mode = 0 Wed Apr 21 09:08:31 2015 - [error][/usr/lib/perl5/site_perl/5.8.8/MHA/MasterFailover.pm, ln2083] Detected dead master vdbsrv1(192.168.1.6:3306)    does not match with specified dead master 192.168.1.6(192.168.1.6:3306)! Wed Apr 21 09:08:31 2015 - [error][/usr/lib/perl5/site_perl/5.8.8/MHA/MasterFailover.pm, ln2151]    Got ERROR:  at /usr/bin/masterha_master_switch line 53

3、在线切换时的错误提示 [root@vdbsrv4 ~]# masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_master_host=192.168.1.8 \ > --orig_master_is_new_slave --running_updates_limit=10000 Tue Apr 21 11:50:14 2015 - [info] MHA::MasterRotate version 0.56. Tue Apr 21 11:50:14 2015 - [info] Starting online master switch.. Tue Apr 21 11:50:14 2015 - [info] Tue Apr 21 11:50:14 2015 - [info] * Phase 1: Configuration Check Phase.. Tue Apr 21 11:50:14 2015 - [info] Tue Apr 21 11:50:14 2015 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping. Tue Apr 21 11:50:14 2015 - [info] Reading application default configuration from /etc/masterha/app1.cnf.. Tue Apr 21 11:50:14 2015 - [info] Reading server configuration from /etc/masterha/app1.cnf.. Tue Apr 21 11:50:14 2015 - [info] GTID failover mode = 0 Tue Apr 21 11:50:14 2015 - [info] Current Alive Master: vdbsrv1(192.168.1.6:3306) Tue Apr 21 11:50:14 2015 - [info] Alive Slaves: Tue Apr 21 11:50:14 2015 - [info]   vdbsrv2(192.168.1.7:3306)  Version=5.6.22-log (oldest major version between slaves) log-bin:enabled Tue Apr 21 11:50:14 2015 - [info]     Replicating from 192.168.1.6(192.168.1.6:3306) Tue Apr 21 11:50:14 2015 - [info]   vdbsrv3(192.168.1.8:3306)  Version=5.6.22-log (oldest major version between slaves) log-bin:enabled Tue Apr 21 11:50:14 2015 - [info]     Replicating from 192.168.1.6(192.168.1.6:3306)

It is better to execute FLUSH NO_WRITE_TO_BINLOG TABLES on the master before switching. Is it ok to execute on vdbsrv1(192.168.1.6:3306)? (YES/no): yes Tue Apr 21 11:50:41 2015 - [info] Executing FLUSH NO_WRITE_TO_BINLOG TABLES. This may take long time.. Tue Apr 21 11:50:41 2015 - [info]  ok. Tue Apr 21 11:50:41 2015 - [info] Checking MHA is not monitoring or doing failover.. Tue Apr 21 11:50:41 2015 - [info] Checking replication health on vdbsrv2.. Tue Apr 21 11:50:41 2015 - [info]  ok. Tue Apr 21 11:50:41 2015 - [info] Checking replication health on vdbsrv3.. Tue Apr 21 11:50:41 2015 - [info]  ok. Tue Apr 21 11:50:41 2015 - [error][/usr/lib/perl5/site_perl/5.8.8/MHA/MasterRotate.pm, ln228] 192.168.1.8 is not alive! Tue Apr 21 11:50:41 2015 - [error][/usr/lib/perl5/site_perl/5.8.8/MHA/MasterRotate.pm, ln613] Failed to get new master! Tue Apr 21 11:50:41 2015 - [error][/usr/lib/perl5/site_perl/5.8.8/MHA/MasterRotate.pm, ln652] Got ERROR:  at /usr/bin/masterha_master_switch line 53

4、解决方案       直接将IP地址替换为主机名后问题解决,不再演示。

       按官方文档描述,参数--dead_master_host=(hostname),而不是可以用IP地址。

       If these parameters are not set, --dead_master_ip will be the result of gethostbyname(dead_master_host), and --dead_master_port will be 3306.

       补充: 如果配置文件里hostname=IP地址,则在切换的时候使用IP地址也是可行的。 @20150522

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MHA 手动故障转移

            MHA提供了3种方式用于实现故障转移,分别自动故障转移,需要启用MHA监控;在无监控的情况下的手动故障转移以及基于在线手动切换。三种方式可以应对...

    Leshami
  • MHA 自动故障转移步骤及过程剖析

        MHA是众多使用MySQL数据库企业高可用的不二选择,它简单易用,功能强大,实现了基于MySQL replication架构的自动主从故障转移,本文主要...

    Leshami
  • MHA 在线切换过程

        MySQL MHA 在线切换是MHA除了自动监控切换换提供的另外一种方式,多用于诸如硬件升级,MySQL数据库迁移等等。该方式提供快速切换和优雅的阻塞写...

    Leshami
  • 如何在 CentOS 7上安装 Squid代理服务器

    Squid 是一个功能全面的缓存代理服务器,它支持著名的网络协议像 HTTP,HTTPS,FTP 等等。将 Squid 放在网页服务器的前端,通过缓存重复请求,...

    雪梦科技
  • 如何在 Ubuntu 18.04 上安装 Squid代理服务器

    Squid 是一个功能全面的缓存代理服务器,它支持著名的网络协议像 HTTP,HTTPS,FTP 等等。将 Squid 放在网页服务器的前端,通过缓存重复请...

    雪梦科技
  • 常用nginx配置项详解(一个简单的例子)

    核心提示:Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器...

    后端技术探索
  • 使用PowerShell 监控运行时间和连接情况

    概念 Powershell 是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境。你可以把它看成是命令行提示符cmd.exe的扩充,不对,应...

    用户1217611
  • 如何使用浏览器工具调试PWA

    本教程说明了Chrome和Firefox的开发工具展示了什么样的工具,用于帮助用户调试PWA。

    疯狂的技术宅
  • [ 利器篇 ] - LInux 下百度网盘客户端 BaiduPCS

    如果平时电脑的操作系统为Linux,那如何下载百度网盘中文件呢 ? 百度网盘网页版默认下载有大小限制,如果超过之后会默认打开本地安装百度网盘(Linux 根本没...

    程序手艺人
  • HIbernate的“1+N”问题

    import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.T...

    Hongten

扫码关注云+社区

领取腾讯云代金券