阴沟翻船之 MYSQL MHA 故障 SSH timeout 与 Binlog not found

MYSQL MHA 的安装估计很多地方都是自动化安装的了,流水线方式。个人安装的MHA 的集群虽然没有几百台,但基本上已经突破了三位数,按理说安装应该是不会出什么奇怪的事情,但实际上每天都有新鲜事。

最近就阴沟里面翻船了,在MHA 的安装过程中遇到了一些错误,废了点劲

故障1 

大家可以从图上看出报错的信息,关键错误我沾到下边

 [warning] HealthCheck: Got timeout on checking SSH connection to 10.5.7.76! at /usr/share/perl5/vendor_perl/MHA/HealthCheck.pm line 342.

 - [warning] Failed to SSH to binlog server 10.5.7.76

 - [warning] HealthCheck: Got timeout on checking SSH connection to 10.5.7.77! at /usr/share/perl5/vendor_perl/MHA/HealthCheck.pm line 342.

 - [warning] Failed to SSH to binlog server 10.5.7.77

- [warning] HealthCheck: Got timeout on checking SSH connection to 10.5.7.78! at /usr/share/perl5/vendor_perl/MHA/HealthCheck.pm line 342.

 - [warning] Failed to SSH to binlog server 10.5.7.78

[error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln239] Binlog Server is defined but there is no alive server.

从错误信息看,已经很明确的告知有两个问题  1  SSH timeout 2  由于SSH 连接上有问题,提取binlog 有问题,无法进行获取。

所以问题的关键点就 转移到了SSH 的连接上,经过尝试 SSH 连接的确很慢,初期是怀疑网络问题,但测试 PING  Telnet 等方式都很快,并不像是 网络问题。

所以解决问题的关键点,转移到SSH 为什么连接这么慢,经过查询后,

图上的地方的白色就是开始等待时间 较长的地方,大约每次连接SSH就在那个地方需要等待7-10秒左右。

根据相关的文档和类似问题,定位到由于DNS 反向解析的造成的连接较慢的原因。 

相关文档也给出可以在 sshd_config 里面  添加 UseDNS = no 以及 将 GSSAPIAAuthentication no 设置上就不会出现非网络原因的SSH 超时了

但实际上及时修改了上面的SSHD的配置并且从启动SSHD 服务 ,MHA还是继续报同样的错误。

实际上解决这个问题很简单,就是在每台机器的/etc/hosts 上注册机器的地址和IP 之间的 关系,将所有MHA 涉及的机器都放到里面,问题就解决了。

其实这不是什么新鲜的东西,只是以前安装的过程中,LINUX 的系统人员要不就是配置 了,要不就是 DNS 的解析速度并没有导致相关的问题发生。

如果仅仅按照上面的错误提示,大部分的页面都是在提出没有开启BINLOG 导致的,实际上并不是。

故障2 

看到上面的问题,提示说找不到文件目录,并且提示要在配置文件中设置BINLOG 的位置,这样的报错,一般发生在 设置了BINLOG (使用GTID)Server 的服务器。

但如果你再次核对你的配置文件,估计也 不会发现什么失误。主要的问题在于你的MYSQL 服务器的BINLOG 的mysql-bin.index 里面注册的当前MYSQL 有的BINLOG 文件数量不一致。

可以看到其中一台机器的BINOG 直到了mysql-bin.000001 而其他的已经 到了 000003 , 怎么办, 只需要将所有的MYSQL 的  binlog 的编号统一就可以解决问题了 

其实MHA 的配置本身并不难,但设计的东西比较多,并且注意的权限,网络方面的注意,MYSQL本身配置等等在一起就显得混乱,如果没有章法的去做很可能会忽略一些东西,结果就是故障频发,然后还的费劲心里的去解决,所以标准化这个东西在某些这样的事情上就显得非常重要了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值