tidb-server 日志报错write: connection reset by peer

【 TiDB 版本】v5.3.0
tidb server 一直报错


发现是haproxy 设置了send-proxy 而且配置check,就会引起这个问题
image
请问这个报错属于正常吗?会有什么影响

正常的,首先说就是符合常理。

haproxy 的 check 是探活,也就是检查后端的服务是否正常,基于 tcp 探活会尝试连接后端 tidb 的 4000 端口。

tidb server 跟 check 建立连接后会等待收消息,但是 check 建立连接成功就说明后端在线,然后关闭连接,这时候 tidb server 因为 check 的连接意外断开打印报错日志。

check 是定时的,所以不会有太多,影响不大,主要的影响是打印了太多 ERROR 日志,干扰排查问题。

tidb 集群 prometheus 探活 tidb 是用的 10080 端口,不是探活的 4000 端口,所以没有如上的报错日志,所以可以参考下是不是能设置下 haproxy check 的方式(端口)。

1 个赞

怎么修改这个控活端口? 我刚升级v5.4.3也遇到 这问题了,看官方的haproxy配置文档也没有指定。。。

port

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 ??

1 个赞

Ok, what you said may be the solution, I will try it in the afternoon

thank you~~~~~~~~

经常测试,你这方法有效, 谢 谢 ~~~