HAProxy MySQL检查失败永久和意外

我正在运行HAProxy spred 3 mysql的galera节点之间的负载。 不幸的是,HAProxy表明node2永远处于脱机状态,而其他节点工作得很好。 configuration看起来很好,用户名,密码,端口应该是一切。 我无法find它的原因。

这是HAProxyconfiguration的相关部分:

listen mysql-galera-cluster bind 10.0.0.10:3306 mode tcp option mysql-check user haproxy_check balance roundrobin source 10.0.0.10 server db1 10.0.0.101:3307 check server db2 10.0.0.102:3307 check server db3 10.0.0.103:3307 check 

在db3上,我在mysql.log里面input了以下内容:

 151111 17:48:06 1518 Connect [email protected] on 1518 Quit 

在db2上没有这样的条目。 但是日志工作,如果我尝试手动login( mysql -h 10.0.0.102:3307 -u root -p ),我得到:

 151111 17:30:48 342 Connect root@node1 on 342 Connect Access denied for user 'root'@'node1' (using password: YES) 

那么为什么HAProxy没有试图检查10.0.0.102呢? 我尝试了与10.0.0.103相同的行,这完美的作品。

提前感谢您的帮助!

我解决了这个问题。 这与HAProxyconfiguration无关,而是keepalivedconfiguration错误。 在db2上configuration了一个备份keepalived,其eth0为10.0.0.10,而不是eth1。 改变这个问题已经解决了。

尝试增加两次连续健康检查之间的时间间隔。

例如:5s

 server db1 10.0.0.101:3307 check inter 5s server db2 10.0.0.102:3307 check inter 5s server db3 10.0.0.103:3307 check inter 5s