tikv节点缩容失败问题

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】4.0.11
【复现路径】
在测试环境缩容一个tik 节点
先通过tiup命令增加一个驱逐要缩容tikv节点的调度
tiup ctl pd -u http://172.2xxxx:2379 scheduler add evict-leader-scheduler 1

我执行完调度任务后 查库里发现有一个leader一直在store-1 没迁移走



查了下这个region是空的

image

我当时缩量掉了那个节点 display查看集群 节点当时显示Tombstone 看着挺正常
我执行了tiup cluster prune tidb-test 然后display查看集群也已经去掉了126这个缩容掉的节点了

但是发现tikv_store_status表里还有这个节点信息 显示是down


监控页面也显示是down
Abnormalstores
看社区其他帖子执行了store remove-tombstone 但是也去不掉
[tidb@dba-test-12124 ~]$ tiup ctl pd -u 192.168.xxx4:2379 -i
Starting component ctl: /home/tidb/.tiup/components/ctl/v4.0.11/ctl pd -u 192.xxx:2379 -i
» store remove-tombstone
Success!

rurl -X DELETE pd-addr:port/pd/api/v1/stores/remove-tombstone
Abnormalstores

【遇到的问题:问题现象及影响】
后来我重新扩回去 已经缩容的126这个节点 然后扩容成功后在自动拉节点阶段失败了
于是我就没执行leader调度任务 再次直接缩容这个节点 然后没缩容成功 节点却自己拉起来成功了
我又再直接执行了一遍缩容命令 没有执行leader调度任务 这次就下线成功了 现在日志已经没了 重复扩缩容好几次 没有复现这个问题

请问老师们 :

  1. 遇到上述情况 tikv节点已经下线后 执行prune命令 监控显示从tombstone变成了 down store 该如何解决 怀疑是region leader没调度走导致的

Abnormalstores
2.缩容tikv 是否要提前 驱逐要缩容tikv节点region的leadr 等leader都驱逐走了再缩容比较好 还是直接执行缩容命令?

3.在缩容中 或者驱逐leader调度任务中如果遇到region leader迁移不走卡住了 是否有什么命令能手动指定迁移迁移调度走region leder ?

【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

不理解为什么要手动增加 evict-leader-scheduler

是担心缩容tikv节点有region leader迁移失败或着缩容过程中 region迁移卡住下线导致region没有leader问题影响业务看社区文档是建议先手动转移

可以尝试以下解决方法:

  1. 首先,您可以尝试手动调度 region leader 迁移。您可以使用 TiUP 控制台的命令 scheduler add 来添加一个调度任务,强制迁移指定的 region leader。例如,您可以执行 tiup ctl pd -u http://172.2xxxx:2379 scheduler add balance-leader-scheduler 来平衡 region leader 的分布。
  2. 在缩容 TiKV 节点时,建议在执行缩容命令之前先驱逐要缩容的 TiKV 节点上的 region leader。这样可以确保在缩容过程中不会因为 region leader 没有调度走而导致问题。您可以使用 TiUP 控制台的命令 scheduler add 来添加一个驱逐 region leader 的调度任务,等待 leader 调度完成后再执行缩容命令。
  3. 如果在缩容或驱逐 leader 调度任务中遇到 region leader 迁移不走的情况,您可以尝试手动指定迁移 region leader。您可以使用 TiUP 控制台的命令 scheduler add 来添加一个手动迁移 region leader 的调度任务。例如,您可以执行 tiup ctl pd -u http://172.2xxxx:2379 scheduler add balance-leader-scheduler 来手动平衡 region leader 的分布。

先手工转移leader试试:pd-ctl operator add remove-peer <region_id> <from_store_id> ,看看是否有报错

你看的这个文章下面有处理方法

一般都是直接scale in,没有手动迁移leader

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