【 TiDB 使用环境】生产环境
【 TiDB 版本】v5.4.3
【遇到的问题:问题现象及影响】
tidb集群其中一个节点硬件问题多次重启,之后该节点的tikv就启动不了了,接整个集群的tikv都无法启动
单个tidb和 tikv能拉起来吗?tiup cluster start cluster-name --node
你是节点全down
看一下启动日志
重启后文件损坏了吧
检查下数据目录和文件是否存在,访问权限是否都正常?如果权限正常。那估计是有文件损坏了,我的想法是,一个一个节点启动。把坏的这台剔除节点。重新初始化后,再加入集群。
目录存在,文件也存在,权限也正常,但是报找不到的文件是的确找不到。单个节点启动也不行。
那就是文件丢了啊。尝试用tikv-ctl工具处理下丢失的文件。
好了咩有
没有。
这个很可能存在的sst文件都是正常的。就是有文件丢失。那问题来了,文件怎么就不见了啊?用tikv-ctl把丢失的文件从集群里清理掉,试过吗?
官方手册有的。搜tikv-ctl
你是说 tombstone 吗? 不行
指定的 sst 文件可能已经损坏,导致无法访问
找出region和sst文件对应关系。然后参考下面官方命令:
tikv-ctl ldb --db=data/tikv-21107/db unsafe_remove_sst_file “data/tikv-21107/db/000014.sst”
tikv-ctl --db=data/tikv-21107/db tombstone -r 4 --pd
你得意思是直接用bad-ssts里面的删除?可是我没有bad ssts,也没有这个sst和region的对应关系