TiKV节点无法启动

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

  • 系统版本 & kernel 版本
  • TiDB 版本】2.1.4
  • 磁盘型号】SSD
  • 集群节点分布】2tidb,3pd,5tikv
  • 数据量 & region 数量 & 副本数
  • 问题描述(我做了什么)
  • 关键词】 tikv节点无法启动,日志中有如下报错。 ERRO tikv-server.rs:155: failed to create kv engine: "Corruption: Sst file size mismatch: /data/tidb/deploy/data/db/67704904.sst. Size recorded in manifest 325143, actual size 0 "

请问,怎样才能把这个tikv节点启动??

这个报错的意思应该是,这个sst file 实际大小为0,跟记录的大小不一样。之前发生了什么导致这个节点 down 呢?

机器被重启了

请问,如何解决这里,让这台tikv节点继续工作

你下线的时间有多长了,如果时间比较长的话,集群应该已经在其他地方补副本了,可以直接把这个 TiKV 干掉,启动一个新的了。

delete了之后,然后再挂上,重新平衡副本??

下线了7.8个小时吧,一直是down的状态,我现在delete之后,变offline状态了,还用继续等吗

你现在是几个副本? 用 pd-ctl 看一下这个tikv上 还有没有 leader 或者region?没有的话应该会变成Tombstone 状态。

还有region,这种情况能不能直接重做系统,在上线呢

现在应该没有影响到使用,暴力点的方式,把那个 TiKV 目录都删掉,重新建一个新的 TIKV。

请问,如何把pd中关于这个kv的节点信息彻底删除呢

现在是没办法的,即使变成tombstone 也不行。

删除目录之后重建,发现有如下报错。 ERRO util.rs:336: fail to request: Grpc(RpcFailure(RpcStatus { status: Unknown, details: Some("duplicated store address: id:20847892 address:“192.168.217.162:20160” version:“2.1.3” , already registered by id:5 address:“192.168.217.162:20160” state:Offline version:“2.1.3” ") }))

请问,如何把pd中关于这个kv的节点信息彻底删除呢

快速的方式是,你可以改一下端口。

请问,如何单独修改一个节点的端口呢

可以按照这里单机多实例的方式。https://pingcap.com/docs-cn/v3.0/how-to/deploy/orchestrated/ansible/

您好,请问一下:总大小3T的数据,坏掉一个tikv节点,在平衡数据的过程中,查询是否会变慢?? 如何解决这种类似的情况:添加tikv节点可以解决吗??

数据平衡的过程,我们是有固定大小的并发,把这个影响降低到最小。

我看系统层面出现io等待了,我们这边可以做什么降低对业务影响呢