【 TiDB 版本】v5.3.0
tidb server 一直报错
发现是haproxy 设置了send-proxy 而且配置check,就会引起这个问题
请问这个报错属于正常吗?会有什么影响
正常的,首先说就是符合常理。
haproxy 的 check 是探活,也就是检查后端的服务是否正常,基于 tcp 探活会尝试连接后端 tidb 的 4000 端口。
tidb server 跟 check 建立连接后会等待收消息,但是 check 建立连接成功就说明后端在线,然后关闭连接,这时候 tidb server 因为 check 的连接意外断开打印报错日志。
check 是定时的,所以不会有太多,影响不大,主要的影响是打印了太多 ERROR 日志,干扰排查问题。
tidb 集群 prometheus 探活 tidb 是用的 10080 端口,不是探活的 4000 端口,所以没有如上的报错日志,所以可以参考下是不是能设置下 haproxy check 的方式(端口)。
怎么修改这个控活端口? 我刚升级v5.4.3也遇到 这问题了,看官方的haproxy配置文档也没有指定。。。
Using the “port” parameter, it becomes possible to use a different port to send health-checks. On some servers, it may be desirable to dedicate a port to a specific component able to perform complex tests which are more suitable to health-checks than the application. It is common to run a simple script in inetd for instance. This parameter is ignored if the “check” parameter is not set. See also the “addr” parameter.
server tidb-1 192.168.0.1:4000 port 10080 check ??
Ok, what you said may be the solution, I will try it in the afternoon
thank you~~~~~~~~
经常测试,你这方法有效, 谢 谢 ~~~