缩容后一直处于Pending Offline状态怎么处理

感觉是在调度数据

没解决

空集群,没什么数据,好几天了都是这个状态

应该是bug吧???

是不是副本数不够,再看下store的状态是否正常pd-ctl -u http:pd-ip:2379 store

还要运行命令purge把???

这可能是因为实例仍然在 PD 中注册,PD 一直没有将其删除。这个问题可能会导致一些负面影响,例如后续扩容操作受阻。解决此问题的常见方法如下:

  1. 手动删除实例

可通过 PD-CTL 命令来手动删除处于 Pending Offline状态的实例。首先,您需要使用 pd-ctl命令行工具获取正在运行的 TiDB 实例列表。

pd-ctl -u http://<PD-IP>:2379 store

运行上述命令后,您将可以看到 TiKV 实例的 ID 号和所在的 store ID 号,记录 TiKV ID 号。

然后,使用以下命令来将处于 Pending Offline状态的 TiKV 实例下线。

pd-ctl -u http://<PD-IP>:2379 store delete <TiKV-ID>
  1. 清理 TiKV 表单数据

如果上述方法不起作用,则可以通过重新启动 TiKV 实例并清理掉表单数据来解决问题。在启动命令行中加入以下参数:

--force-new-cluster

该参数会导致 TiKV 实例启动时丢弃掉先前存储的所有数据,然后重新加入集群。启动 TiKV 实例之后,您还需要清除数据目录中 meta.yaml文件以及数据库文件。

  1. 删除 PD 节点

如果上述方法都没有解决问题,可以尝试手动删除 PD 节点,删除命令如下所示:

pd-ctl -u http://<PD-IP>:2379 member delete <PD-Member-ID>

但是,在执行此命令之前,请确保您了解此操作可能会导致的风险,因为 PD 是 TiDB 集群的重要组件之一。删除 PD 节点可能会导致集群不可用或者数据丢失等问题。在执行此操作之前,最好能够备份整个 TiDB 集群。

手动purge把,要把信息删除

查看下是否还在执行region迁移,再在下线的store查看是否还有未迁移的leader和region残留,如果有按照上面h5n1大哥发的三板斧处理,问题不大

手动删节点吧