前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >阴沟翻船之 MYSQL MHA 故障 SSH timeout 与 Binlog not found

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

作者头像
AustinDatabases
发布2019-10-24 19:35:38
1.2K0
发布2019-10-24 19:35:38
举报
文章被收录于专栏:AustinDatabases

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本身配置等等在一起就显得混乱,如果没有章法的去做很可能会忽略一些东西,结果就是故障频发,然后还的费劲心里的去解决,所以标准化这个东西在某些这样的事情上就显得非常重要了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 故障1
  • 故障2
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档