机器磁盘占满,重启后无法正常运行

为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:

  • 系统版本 & kernel 版本
    centos7.7

  • TiDB 版本
    3.0.4

  • 磁盘型号

  • 集群节点分布
    docker swarm部署,3manager 1worker

  • 数据量 & region 数量 & 副本数

  • 问题描述(我做了什么)
    磁盘占满后,删除drainer.log pd0.log pd1.log pd2.log pump1.log pump2.log tidb1.log tikv1.log tikv2.log tikv3.log 日志,机器有过重启
    重启之后tikv一直有报错日志无法正常运行
    tikv报错如下:


    mysql连接一直报111错误

  • 关键词
    tikv,raft同步,机器断电,重启

image
检查下集群内部通信等

另外 os error -11 可以考虑修改加大:
/etc/security/limits.d/90-nproc.conf

  •      soft    nproc     65535
    

相关日志
tidb1.log (19.1 KB) tikv2.log (1.6 MB)

pd 也提供下日志

pd0.log (4.4 KB)

不是有三个 pd 吗 都上传下 另外现在所有的容器都已经启动了吗

稍等,日志分布在不同机器上,我这就上传,现在service情况

pd0.log (180.0 KB)

pd1.log (17.2 KB) pd2.log (65.0 KB)

现在看可能是各容器间通信出现问题,麻烦把所有容器都停掉,然后按照启动顺序再启动一次检查他们的通信是否有问题,各个组件启动的报错是什么。

你好,我把所有容器停掉重启了一下,还是一样的错误,在tikv里测试tidb是连通的

先手动启动 PD ,启动 PD 的过程中有报错吗 你一个一个地启动

tikv目前日志正常


tidb会报error="[tikv:9002]TiKV server timeout

启动顺序应该是pd->tikv->tidb对吧

pd有报错,


这是时间没同步吧,我这是有一台机器有外网,其余机器没外网,这个要怎么同步时间

你现在需要把所有组件都关掉,然后按照启动 pd->tikv->tidb 的启动顺序一个一个启动,确认每个组件没报错后再继续启动下一个组件。

你可以先之启动一个 pd ,启动成功再观察日志,再启动 tikv 。

我将时间同步了一下,然后启动pd0节点,现在有出现了如下报错

2019/10/14 04:51:30.650 +00:00] [PANIC] [log.go:203] [“tocommit(301789) is out of range [lastIndex(300003)]. Was the raft log corrupted, truncated, or lost?”]

[2019/10/14 04:55:57.499 +00:00] [ERROR] [etcdutil.go:64] [“failed to get cluster from remote”] [error=“could not retrieve cluster information from the given URLs”]

[2019/10/14 04:55:57.500 +00:00] [ERROR] [etcdutil.go:64] [“failed to get cluster from remote”] [error=“could not retrieve cluster information from the given URLs”]

[2019/10/14 05:45:23.111 +00:00] [ERROR] [client.go:110] [“region sync with leader meet error”] [error=“rpc error: code = Canceled desc = context canceled”]

[2019/10/14 05:45:29.112 +00:00] [ERROR] [metricutil.go:70] [“could not push metrics to Prometheus Pushgateway”] [error=“Put http://pushgateway:9091/metrics/job/pd0/instance/e61d172b858e: dial tcp: lookup pushgateway on 127.0.0.11:53: no such host”]

[2019/10/14 06:06:14.120 +00:00] [ERROR] [client.go:110] [“region sync with leader meet error”] [error=“rpc error: code = Canceled desc = context canceled”]

[2019/10/14 06:07:03.069 +00:00] [ERROR] [client.go:110] [“region sync with leader meet error”] [error=“rpc error: code = Canceled desc = context canceled”]

[2019/10/14 06:07:17.325 +00:00] [ERROR] [client.go:110] [“region sync with leader meet error”] [error=“rpc error: code = Canceled desc = context canceled”]

[2019/10/14 06:07:18.330 +00:00] [ERROR] [tso.go:121] [“system time may be incorrect”] [last=2019/10/14 06:07:19.104 +00:00] [next=2019/10/14 06:07:18.330 +00:00]

[2019/10/14 06:16:24.071 +00:00] [ERROR] [client.go:110] [“region sync with leader meet error”] [error=“rpc error: code = Canceled desc = context canceled”]

现在是测试环境把?
在 docker 中,各容器怎么通信的,通过服务名还是 ip 。