tikv的store显示down

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:2.13
  • 【问题描述】:“store”: { “id”: 5, “address”: “10.53.156.91:20160”, “version”: “2.1.13”, “state_name”: “Down” }, “status”: { “leader_weight”: 1, “region_weight”: 1, “start_ts”: “1970-01-01T08:00:00+08:00” 前问这个问题要怎么处理呢

你好,

  1. 请返回 member 完整的文本信息
  2. 请提供下集群拓扑情况,pd、tidb、tikv 数量
  3. tikv 节点 down 是否做过一些操作,请先提供下 tikv.log 日志这边分析下。

tikv 6节点,pd、tidb是3节点。tikv有些节点应该是有down过,后面起起来了。tikv-mem-store.log (24.1 KB)

你好,

请按照楼上说明,提供下相关信息,当前看 9 tikv 中 4 down,5 up

  1. 请描述做过的操作
  2. 请提供想要恢复节点的 tikv.log

没做什么操作,就是可能机器的资源紧张被系统kill掉了。 另外我发现主配置文件里是没有20160端口的配置的。不知道store怎么显示出来20160端口。 随便恢复哪个都行,恢复了一个应该按这个方法恢复其他应该可以的。 因为日志太大,我只截取关键词之后的一些片段报错的

你好,

可以备份下当前日志,尝试启动其中一个 tikv 节点,并将 tikv 日志上传下。。

tikv.log (103.7 KB)
这个是启动的tikv日志

你好,

确认下当前 pd 的 max-replicas 参数值,辛苦上传下。

20160 端口肯定是曾经加入过集群,但是下线方式不对,这边可否在确认下。

down 掉的 4 台 tikv 是否均为 oom kill ,请再确认下或者将最后一次 down tikv 节点重启的日志截取并上传下,down 的方式很重要。如果当前一个一个排查可能成本比较高,所以建议将信息拉平。


我是以这个命令启动的,不知道是不是有问题的。
.tom的配置文件max-replicas = 3
没找日志无法确定是否oom

部署方式是否为 binary,目前不是推荐的部署方式,如果线上使用可以通过 tiup 部署 4.0.0 。

2.13版本的,使用的ansible部署的

tidb-ansible 启动方式可以使用 start.yml 指定 tikv 启动,或者通过 script 脚本进行启动

那我这个命令启动应该也没问题了

根据报错,您是有实例共用一个目录,还是启动时手工指错了目录,请检查下,多谢。

2020/06/01 16:54:49.536 ERRO tikv-server.rs:123: lock “/data/tidb/deploy/data_1/data” failed, maybe another instance is using this directory. 2020/06/01 16:54:49.799 ERRO endpoint.rs:441: Region(message: “peer is not leader” not_leader {region_id: 8})

1 个赞


启动的时候没有指错呢

1 个赞
  1. 根据您的 store 信息有 9个,根据上面的tikv 实例配置应该是6个。你这边之前是有修改过 tikv 配置,或者扩缩容过吧。
    image

  2. 当前的报错可以看出,有两个实例使用了相同的目录。 所以只能一个实例启动。

2020/06/01 16:54:49.536 ERRO tikv-server.rs:123: lock “/data/tidb/deploy/data_1/data” failed, maybe another instance is using this directory. 2020/06/01 16:54:49.799 ERRO endpoint.rs:441: Region(message: “peer is not leader” not_leader {region_id: 8})

嗯,之前应该是每个ip使用的一个tikv,后面修改了配置信息扩充为6个tikv了。

根据楼上的恢复自行排查下,请把关注点放在问题上

这边建议通过 tidb-ansible 统一管理 tidb 集群,手动启的方式并不推荐,也不好排查。



ansibe启动的时候有3个启动不了,手动启动的时候也是提示其他实例启动过,但是通过配置文件确认端口和目录都是对应无误的,这个集群也是运行了大半年时间的。

tikv通过什么参数判断是其他实例启动过呢,有办法去详细查看到吗