【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踢掉,请问有什么办法?谢谢!
北京大爷
(北京大爷)
2
先说风险:
正常 下线 tikv 是会将 此 tikv 上的 leader 与相关 region peer 都迁移到其他服务后才会标记为
tombstone。如在下线过程中直接关停服务,可能导致 raft leader 未完成迁移导致,访问抖动与遗传。
正确方法先添加新的 tikv 节点再下线老旧节点时最稳妥办法。如只是停机维护,可以先手动驱逐 leader 后,再进行停机维护。
再说方法:
- 确认 store 1 当前状态是否为 tomestone,并确认 其目前已无 leader
- 如果 状态非 tombstone 通过如下命令对状态进行设置
curl -X POST 'http://<pd-address>/pd/api/v1/store/<store_id>/state?state=Tombstone
- 使用 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
北京大爷
(北京大爷)
4
建议使用 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)
» store limit
{}
请教下,这个的默认值是多少? 我想处理完后还原回去
北京大爷
(北京大爷)
9
system
(system)
关闭
10
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。