TiKV宕机无限OOM起不来,如何正确恢复

唉,force命令只是tiup和进程关闭,和pd里的元数据没关系

所以让你重启tidbServer,pd里里这个reggon的leader是哪个节点上?

tidb里会有region缓存,重启一下会从pd重新拉regon的元信息,所以要确保这个reggon的信息在pd里是对的

在一个正常个节点上,store 1和4都是offline的,但是刚才日志显示他去读了store 4
image

你tidb重启了吗?

重启了

你能手动连接一个tidbServer验证吗?担心有其他Server干扰

为啥1.4是offline,你手动添加副本,pdctl

4对应的就是那个 27:20160(前天 --force强制下线的)
1对应的是 91:20160(昨天 scale-in下线,没用 --force)

ok,1.你想办法启动1或4,2就是你手动添加一个副本,然后再删除一个注定起不来的副本4上的哪个

4是肯定起不来了,–force 数据都被删了
1是想起起不来,一直OOM

第二种方法就是我用这个命令把store 4上的 2000多个region删掉是吧

operator add remove-peer region_id 4

嗯,正常会自动补的

看样子是没正常补,store1和4的都是不正常的,这里显示1是normal,而且有一个pending了,也没去补,store54的是tiflash
image

问题就是,因为你的两个副本在这两个store上,然后导致无法满足多数派协议,所以业务不可用,你只需要让其满足多数派就OK,命令就是上面的添加或删除指定副本命令

至于后续,建议你扩容

operator add remove-peer region_id 4

这个命令我执行了,但是好像不起作用,我再执行就报错了,像是没被调度,我需要这样把2000多个全删掉?

对的,全部,至于报错,等一会再执行

没用,我执行了几百个了,store=4的还是2291,一个没少

写个for循环,sleep3s 吧,不过时间会很长,估计几小时