tikv节点服务器故障后,剔除后状态一直是Offline,后来强制剔除后,还是有故障节点的相关信息。

【 TiDB 使用环境】生产环境
【 TiDB 版本】v5.4.3
【复现路径】做过哪些操作出现的问题
集群一个Tikv节点物理机出现硬件故障,在服务器短时间无法恢复正常的情况下,把这个故障tikv节点缩容,很长时间状态都是Offline,后来强行缩容了,使用tiup cluster display 查看集群状态,发现没有该故障节点信息了,但是在pd还有该节点的信息,现在不清楚怎么完全缩容掉。
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

offline是因为有未迁移走的region。
https://docs.pingcap.com/zh/tidb/v7.1/tiup-component-cluster-scale-in?_gl=1*1qqi9v4*_ga*MTQ4NzE5MDkyOC4xNzA4MjUwODAw*_ga_3JVXJ41175*MTcxMjU1NzE1Ny4xMjMuMS4xNzEyNTU3MTcxLjQ2LjAuMA…#–force
tiup强制删掉这个节点就行。副本补齐前不要再强制下线其他节点了。

已经强行删掉这个节点了,强行删掉后,通过pd-ctl查看,还有该节点的信息,状态为offline。没有完全移除掉。

截图截少了一些。看看region数是多少,这个region数降为0后,自然就变成tombstone了。

你现在有几个tikv节点,缩容之后有重新扩容一个节点出来吗?

这台故障节点无法恢复了,这台服务器数据库目录删除了。我们尝试过删除了一些leader了,剩下的177个leader 尝试删除多次,也无法删除,现在有什么方法完全清除吗?

是不是剩余节点不够补副本。
这个节点执行下线操作后,如果集群副本补好了,这个节点就会进入墓碑状态。

出问题时,总共三个节点,宕掉一个节点后,两个tikv节点存储容量不够了,基本上不调度了,然后新加了节点,调整了store空间阈值low-space-ratio,集群恢复正常后。又把故障节点恢复启动了,发现很多数据文件损坏,有些leader无法从该节点调度出去,也无法在该节点删除,就强行剔除了。剔除掉pd还是有该节点的信息。

你这都强删了,还有那么多leader,说明这177个region没法选出新的leader了。估计得考虑unsafe recovery了。
https://docs.pingcap.com/zh/tidb/v5.4/online-unsafe-recovery

1 个赞

一直是offline状态,说明还有region未迁移完成, 迁移完成会变成tomstone状态。

是因为还在迁移region,等到region迁移完成后会变成tombstone状态,然后执行prune清除tombstone状态的节点

现在集群已经正常了,tiup看不到这个节点,但是pdctl能看到?

是的。

这个应该得重启集群?让pd重新获取下tikv的状态

感觉有些后续工作没做完

踢掉 重新扩容呢

你强制下线tikv前要确保正常tikv节点其他满足最低要求(最少要大于等于3个正常tikv节点),然后等故障tikv节点上的region调度迁移完成才能正常缩容剔除

重启看看?

tiup --force仅仅是从tiup meta里把节点信息删除了,并没有真正下线,参考