3个tikv缩容一个,结果就卡在这里一直处于 Pending Offline 状态

【 TiDB 使用环境】测试
【 TiDB 版本】v5.4.3
【复现路径】做过哪些操作出现的问题
执行缩容操作。
【遇到的问题:问题现象及影响】
tikv缩容后,tiup状态一直处于 Pending Offline 状态,命令操作如下:
tiup cluster scale-in zmd-cluster --node 10.0.0.40:20160
通过命令可以看到对应节点的store状态是offline
tiup ctl:v5.4.3 pd -u http://10.0.0.50:2379 store

{
“store”: {
“id”: 616763,
“address”: “10.0.0.40:20160”,
“state”: 1,
“version”: “5.4.3”,
“status_address”: “10.0.0.40:20180”,
“git_hash”: “deb149e42d97743349277ff9741f5cb9ae1c027d”,
“start_timestamp”: 1702273522,
“deploy_path”: “/tidb/deploy/tikv-20160/bin”,
“last_heartbeat”: 1702274328734343383,
“state_name”: “Offline”
},
“status”: {
“capacity”: “915.9GiB”,
“available”: “758.1GiB”,
“used_size”: “97.26GiB”,
“leader_count”: 18,
“leader_weight”: 1,
“leader_score”: 18,
“leader_size”: 18,
“region_count”: 121772,
“region_weight”: 1,
“region_score”: 877627.021699191,
“region_size”: 650414,
“slow_score”: 1,
“start_ts”: “2023-12-11T13:45:22+08:00”,
“last_heartbeat_ts”: “2023-12-11T13:58:48.734363383+08:00”,
“uptime”: “13m26.734363383s”
}
}
只有3个tikv,现在要下线一个,结果就卡在这里一直处于 Pending Offline 状态。去不掉。请问要怎么处理?
现没有多余的机器扩展节点了,请问如何把它恢复回来?
【资源配置】
【附件:截图/日志/监控】

三副本只有3个节点不能缩容调一个节点,必须先扩容再缩容。

事已至此,敢问大神如何把它恢复进去 :sob:

尝试扩容一下

测试环境吗? 那随便折腾啊,改成单副本,缩容成功后再原地扩一个节点,最后改成3副本

这台缩容的机器上重新写个扩容文件扩容,不过把端口改掉不要与原先缩容的冲突。

只需使用pd ctl工具,执行👇语句即可

store cancel-delete 616763

先扩容,才能使用数据库

要不按一个tikv损坏处理了?这里有处理步骤专栏 - TiKV缩容下线异常处理的三板斧 | TiDB 社区

1 个赞

建议先扩容一个节点,再缩容。

缩了扩,扩了缩呗 :joy:

不需要扩了缩,因为它就没缩容下去 :joy_cat:

有先后顺序的,只有三个节点的时候,要先扩容,然后再缩容。

试过了,提示Error: port conflict for ‘20160’ between ‘tikv_servers:10.0.0.40.port’ and ‘tikv_servers:10.0.0.40.port’

是开发环境,也不敢随便造。请问如何改成单副本?有详细步骤吗

改端口,那这台机不是会运行两个tikv-server吗?

你现在的需求不是恢复吗,就用pd ctl搞下就好了啊

请问这个命令,是做什么处理的?

没条件扩了。没机器

没事的,你上线一个新的,旧的会把数据迁移到新起的上面