tikv下线产生learner-peer 和 pending-peer

需要确认下,现在 18 个 learner 状态的 region 跟 store 4 是什么关系?看到描述说 store 4 是 leader,是说这 18 个 learner 状态的 region 的leader 节点在 store 4 上面吗?可以使用 pd-ctl 看下 18 个其中一个 region 的状态,有可能是 region 异常。

  1. 是的 18个learner状态的leader 都在store 4 上
  2. 我已经强制下线了store 4 按理说这个18个region的数据应该是丢失了,但是下线的tikv状态为什么没有变?

下线的节点数据不会丢失,也就是这 18 个 region 的数据会在其他节点有副本,数据不会丢。下线之后的状态一直没变是看到 pd-ctl 里面的 store 信息还在是吧?

是的 ,pd-ctl store还是能看到

看下监控上面 Miss peer 是否还在增长,如果还在增长说明还没有迁移完,只有迁移完 offline 状态变成 Tombstone 之后,pd-ctl 才会看不到 store 信息。另外 pd-ctl 看下 18 个 learner 副本情况,是否补齐三副本。


store4 我已经停止了 还能迁移么

稍等下,问题我们再看,麻烦提供下 PD leader 的日志。

pd.txt (35.2 KB)

好的 ,我们先看下日志。

日志信息量比较少,看不出具体的问题。结合上面的解释,需要确认下现在是想要什么样的效果?

我现在想把这18个region 丢弃掉,不要在pd-ctl store里面还能看到,就是下线的store4 的状态由offline变成Tombstone,我已经将store4停机了

如果 store 4 不能再拉起来,且不需要 18 个 region 对应的数据

  1. 在所有正常 store 上面执行 tikv-ctl --db /path/to/tikv-data/db unsafe-recover remove-fail-stores -s <s1,s2> -r <r1,r2,r3>

  2. 执行 tikv-ctl --db /path/to/tikv-data/db recreate-region --pd -r <region_id>


第二命令执行报错,感觉还是不起作用

在两个是 learner 的 store 节点上执行:

tikv-ctl --db /path/to/tikv/db tombstone -p 127.0.0.1:2379 -r <region_id>

然后选中其中一个 store 节点执行:

tikv-ctl --db /path/to/tikv-data/db recreate-region --pd -r <region_id>

感谢,已经删除了:+1::+1::+1:

:handshake:

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。