生产环境不好关闭kv来检查sst
提个思路,可能是 PD 的调度策略或 Region 的分布策略不合理,导致某个 Region 所在的 TiKV 节点无法正常提供服务
有损坏的sst文件吗?
版本有变化,–db 指定到db目录 ,–datadir指定到 db 上一层。
这个tikv上有问题sst region,试试用pd-ctl operator add remove-peer <region_id> <store_id> 命令能否将这个region peer删除
如果我不修复这些sst 直接把这个节点缩掉是不是一样的效果
先试试上面的remove-peer吧 ,缩容代价就太大了
这个sst文件损坏一般是什么原因造成的呢?
[2023/07/17 09:41:18.740 +08:00] [ERROR] [store.rs:597] [“handle raft message failed”] [err_code=KV:Raftstore:Unknown] [err=“Other("[components/raftstore/src/store/fsm/store.rs:1614]: [region 348674592] region not exist but not tombstone: region { id: 348674592 start_key: 7480000000000002FF295F729C00000078FFFC790B0000000000FA end_key: 7480000000000002FF295F729C00000079FF08FB8A0000000000FA region_epoch { conf_ver: 1436 version: 2306 } peers { id: 348674593 store_id: 891996 } peers { id: 348674594 store_id: 1133876 } peers { id: 348674595 store_id: 782568 } }")”] [store_id=1133876]
有没有试remove peer 从store 1133876 里删除
没有 修复sst的时候只执行了个命令unsafe_remove_sst_file 和tombstone -r
remove peer 试下,那个tikv 现在起不来了吧
pd-ctl region xxx 看下region状态
用operator add remove-peer 把这个kv上的peer都删除了 80多条记录一条条删除累死了,现在所有region正常了