如何踢掉offline状态的tikv

【TiDB 版本】:v4.0.0

【问题描述】:
大家好,我环境是这样的:
tidb: 192.168.1.9
pd:192.168.1.9
tikv1:192.168.1.6
tikv2:192.168.1.7
tikv3:192.168.1.8

我想要做的是先把192.168.1.6的tikv下线,一会又重新加回来
但我在执行完下面命令后没有等节点状态变为Tombstone (还是offline状态)就将tikv节点stop了
./resources/bin/pd-ctl -u “http://192.168.1.9:2379” store delete 1

停掉tikv后,./resources/bin/pd-ctl -u “http://192.168.1.9:2379” store
一直查到192.168.1.6的状态一直是offline

我现在想把192.168.1.6踢掉,请问有什么办法?谢谢!

先说风险:
正常 下线 tikv 是会将 此 tikv 上的 leader 与相关 region peer 都迁移到其他服务后才会标记为
tombstone。如在下线过程中直接关停服务,可能导致 raft leader 未完成迁移导致,访问抖动与遗传。
正确方法先添加新的 tikv 节点再下线老旧节点时最稳妥办法。如只是停机维护,可以先手动驱逐 leader 后,再进行停机维护。
再说方法:

  1. 确认 store 1 当前状态是否为 tomestone,并确认 其目前已无 leader
  2. 如果 状态非 tombstone 通过如下命令对状态进行设置
    curl -X POST 'http://<pd-address>/pd/api/v1/store/<store_id>/state?state=Tombstone
  3. 使用 store remove-tombstone 删除所有 Tomestone 标记的 tikv

谢谢!
问题解决了,另外有个问题请教下,transfer-region时,我是用脚本一条条迁,类似下面,请问有没有批量的命令?
./resources/bin/pd-ctl -u “http://192.168.1.9:2379” operator add transfer-region 232 4 5

建议使用 tiup 进行 集群的 scale-in scale-out 操作。相应操作均是管理工具进行自动化完成

在执行 store delete 后 对应的 raft leader 与region peer 的迁移都是由 PD 自己调度完成的。

transfer-region 是在特殊情况下才会使用的 一种手动调度方式。并不推荐人为进行大量操作。
同时也未提供批量 api

用pc-ctl store delete后,tikv节点一直offline状态,等了几个小时,leader和region都没有减少,于是就用了evict leader scheduler 迁走leader, 然后用transfer-region手动迁走了region。

在执行 store delete 后 对应的 raft leader 与region peer 的迁移都是由 PD 自己调度完成的
这个是说啥都不需要做,等着就可以了?(不是用的tiup)

是的 等着就好。如果感觉调度慢参考下这里

或者可以在 asktug 搜索下

可以了,谢谢!

» store limit
{}

请教下,这个的默认值是多少? 我想处理完后还原回去

https://github.com/tikv/pd/blob/c09f6c2833e689a4b104357974c7c3dd08640bb8/server/config/config.go#L244-L247
add peer
remove peer
tikv 15
tiflash 30

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