sync_log 设置为 false,机器掉电后可能导致启动时 panic,建议修改 sync_log 为 true
对于报错 commit index is out of range
,可以通过如下步骤恢复
1.滚动重启所有可以正常启动的 TiKV
2.尝试启动这个 TiKV
如果仍有其他类似 last index,commit index 报错,则需要
1.把 Raft 状态机损坏的 Region 找出来
tikv-ctl --db /path/to/tikv-data/db bad-regions
2.把 Region 设置为 tombstone 状态
tikv-ctl --db /path/to/tikv-data/db tombstone -r --force
说明:上述命令在掉电故障的 TiKV 上执行,且TiKV 处于 stop 关闭状态
tikv-ctl 使用说明参考 https://pingcap.com/docs-cn/stable/tikv-control/
论坛也有类似问题修复案例
如果希望简单处理,可以放弃这个 TiKV 实例,按照正常的缩容流程下线,等状态变成 tombstone 后,再扩容进集群(2.1.13 版本扩容时可能需要指定与原 TiKV 实例不同的端口号如 20182)