TiDB 突然访问不了,需要重启TiKV和TiDB才恢复

select tidb_version() :

  • Version: 2.1.0-alpha.1-ff3dd160846b7d1aed9079c389fc188f7f5ea13e
    Check Table Before Drop: false’’’
  • Release Version: v3.0.0
  • Git Commit Hash: 60965b006877ca7234adaced7890d7b029ed1306
  • Git Branch: HEAD
  • UTC Build Time: 2019-06-28 12:14:07
  • GoVersion: go version go1.12 linux/amd64
  • Race Enabled: false
  • TiKV Min Version: 2.1.0-alpha.1-ff3dd160846b7d1aed9079c389fc188f7f5ea13e
  • Check Table Before Drop: false

9:33:00 重启一台tikv后日志:
tikv:

tidb:

  1. 请问是ansible部署,还是binary方式部署的?
  2. 请问当前的环境是生产还是测试环境? 是否方便升级到新版本? 你当前的版本比较低,建议升级到当前的新版本3.0.13 观察下,多谢。

binary方式部署;正式环境

和这个情况比较像,我升级试试;

好的,麻烦了,有问题随时联系,多谢。

2020/05/11 17:56:36.361 terror.go:357: [error] write tcp 10.17.:4000->10.17.:33437: write: connection reset by peer github.com/pingcap/errors.AddStack /home/jenkins/agent/workspace/tidb_v3.1.1/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20190809092503-95897b64e011/errors.go:174 github.com/pingcap/errors.Trace /home/jenkins/agent/workspace/tidb_v3.1.1/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20190809092503-95897b64e011/juju_adaptor.go:15 github.com/pingcap/tidb/server.(*packetIO).flush /home/jenkins/agent/workspace/tidb_v3.1.1/go/src/github.com/pingcap/tidb/server/packetio.go:172 github.com/pingcap/tidb/server.(*clientConn).flush /home/jenkins/agent/workspace/tidb_v3.1.1/go/src/github.com/pingcap/tidb/server/conn.go:999 github.com/pingcap/tidb/server.(*clientConn).writeInitialHandshake /home/jenkins/agent/workspace/tidb_v3.1.1/go/src/github.com/pingcap/tidb/server/conn.go:275 github.com/pingcap/tidb/server.(*clientConn).handshake /home/jenkins/agent/workspace/tidb_v3.1.1/go/src/github.com/pingcap/tidb/server/conn.go:170 github.com/pingcap/tidb/server.(*Server).onConn /home/jenkins/agent/workspace/tidb_v3.1.1/go/src/github.com/pingcap/tidb/server/server.go:353 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:1357

更新版本后tidb 每个两秒输出这日志,当时能正常访问使用,这个是什么问题呢

1.当前请问使用的哪个版本? 2. https://dpjeep.com/golangzhi-http-eofxiang-jie/ 这个报错看起来和这个比较像,您这边有很多的连接吗?

升级前:
select tidb_version() :

  • Version: 2.1.0-alpha.1-ff3dd160846b7d1aed9079c389fc188f7f5ea13e
    Check Table Before Drop: false’’’
  • Release Version: v3.0.0
  • Git Commit Hash: 60965b006877ca7234adaced7890d7b029ed1306
  • Git Branch: HEAD
  • UTC Build Time: 2019-06-28 12:14:07
  • GoVersion: go version go1.12 linux/amd64
  • Race Enabled: false
  • TiKV Min Version: 2.1.0-alpha.1-ff3dd160846b7d1aed9079c389fc188f7f5ea13e
  • Check Table Before Drop: false

升级后:
v3.1.1

连接数不多,只有十几个

和这个单情况有点像,但不知道是怎么解决的?

你有使用负载均衡吗?如果有参考下这个方法

我们这边是使用HAProxy 做负载均衡代理的,需要配置tcp协议; 不知道tidb有没有参数可以过滤这些日志信息?

tidb这边应该没有

2020/05/11 17:56:36.361 terror.go:357: [error] write tcp 10.17.0.1:4000->10.17.0.2:33437: write: connection reset by peer github.com/pingcap/errors.AddStack

找到原因了,是另一台测试服10.17.0.2 的 haproxy代理进程 定时去检测10.17.0.1 上tidb服务 (而10.17.0.1没有对10.17.0.2授权)导致的报错,关停之后恢复了。

感谢解答

:ok_hand:

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。