【 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强制删掉这个节点就行。副本补齐前不要再强制下线其他节点了。
截图截少了一些。看看region数是多少,这个region数降为0后,自然就变成tombstone了。
你现在有几个tikv节点,缩容之后有重新扩容一个节点出来吗?
是不是剩余节点不够补副本。
这个节点执行下线操作后,如果集群副本补好了,这个节点就会进入墓碑状态。
出问题时,总共三个节点,宕掉一个节点后,两个tikv节点存储容量不够了,基本上不调度了,然后新加了节点,调整了store空间阈值low-space-ratio,集群恢复正常后。又把故障节点恢复启动了,发现很多数据文件损坏,有些leader无法从该节点调度出去,也无法在该节点删除,就强行剔除了。剔除掉pd还是有该节点的信息。
你这都强删了,还有那么多leader,说明这177个region没法选出新的leader了。估计得考虑unsafe recovery了。
https://docs.pingcap.com/zh/tidb/v5.4/online-unsafe-recovery
一直是offline状态,说明还有region未迁移完成, 迁移完成会变成tomstone状态。
是因为还在迁移region,等到region迁移完成后会变成tombstone状态,然后执行prune清除tombstone状态的节点
现在集群已经正常了,tiup看不到这个节点,但是pdctl能看到?
是的。
这个应该得重启集群?让pd重新获取下tikv的状态
感觉有些后续工作没做完
踢掉 重新扩容呢
你强制下线tikv前要确保正常tikv节点其他满足最低要求(最少要大于等于3个正常tikv节点),然后等故障tikv节点上的region调度迁移完成才能正常缩容剔除
重启看看?
tiup --force仅仅是从tiup meta里把节点信息删除了,并没有真正下线,参考