tikv有一台down了,找到了bad-region,怎样修复?

【 TiDB 使用环境】生产环境
【 TiDB 版本】V4.0.11
【遇到的问题:一台服务器内存坏,修复后,服务器上各组件仍然不能上线,而且数据库不能访问,重启三台服务器,目前三个tidb全部down,一台tikv down,其他组件正常】
【附件:截图/日志/监控】
使用命令 ,/tiky-ctl .-db /tidbdata/deploy/tiky-20160/data/db bad-regions发现bad-region,具体输出如下,如下修复这个数据?
thread ‘’ panicked at ‘rocksdb background error. db: raft, reason: compaction, error: Corruption: Bad table magic number: expected 9863518390377041911, found 4733287020440918081 in /tidbdata/deploy/tikv-20160/data/raft/140817.sst’, components/engine_rocks/src/event_listener.rs:66:13
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace.
Segmentation fault

专栏 - TiKV缩容下线异常处理的三板斧 | TiDB 社区
看4.2

2 个赞
1 个赞

如果有3个以上的tikv,可以缩容后扩容恢复的,只有3个tikv的情况缩容会没有副本可补,会卡住。tidb server可以直接缩容扩容。

专栏 - TiKV缩容下线异常处理的三板斧 | TiDB 社区

一楼的应该够用

如果是你3台tikv。。坏了一台。可以加入一头tikv。

三台tikv损坏一台,可以先扩容一台进去,然后把坏的那台做缩容。

3副本就加一台实例,均衡分片,剔除另一台坏的

扩容一台 tikv服务器吧,扩容完成后再把原来坏了的缩容

专栏 - TiKV缩容下线异常处理的三板斧 | TiDB 社区

先扩容,再缩容

通过扩容加回去呗

缩容一台

扩容再缩容

先扩容再缩容

:+1: :+1: :+1: