缩容TIKV节点

按文档进行缩容,查看状态一直时offline,不是文档描述的Tombstone。Grafana中显示tikv的状态为down。现在如何处理?

1 个赞

在下线的过程中会涉及到 region 的迁移,当正在下线的节点上 region 迁移完成之后,会变成 Tombstone 状态。另外下线的操作已经多久,集群的数据量怎么样?

刚创建的库,空库。如果直接执行下一步会怎样?现在一直时offline。。。

我按后述步骤操作完成后,又执行了 ansible-playbook stop.yml、 ansible-playbook start.yml,结果提示 [the TiDB port 4000 is not up]。。。现在还有挽救的机会么

是什么版本,正在下线的节点在下线之前状态是否正常,可以看下该节点的 tikv.log 信息。另外问下这个操作是测试集群缩容还是因为别的原因要下线掉?

v3.1版本。下线之前状态正常。是因为其中一个tikv节点的服务器IO有问题,影响了整个集群的读写,想着缩容测试一下。

现在我反向操作,集群可以启动了,想要缩容的tikv也启动了。但是看状态还是offline。

辛苦提供一份该节点的 tikv.log

好的,我连上看一下

其他人的帖子中有这样的回复:

看拓扑总共只有3个tikv,如果下线两个tikv,集群就没法使用了。 raft协议需要有超过半数以上节点才行。

我这边也是3个TiKV,要下线2个。。。是因为这个下线不成功么?

下线的集群也是三个节点吗?如果是三个节点,那么下线是不成功的,会一直是 offline。

是3个下线2个。。。不行么?那有什么建议?现在是怀疑那两个的服务器磁盘有问题,想下线测试剩余一个服务器的磁盘。

默认是 3 副本,分布在不同的节点上,所以在这个条件下需要最少 3 个 TiKV 节点。如果因为其他原因需要下线,可以先在其他机器上扩容,然后再缩容。

可是没有多余的服务器做扩容。。。难道要重装么?这个代价有点大,时间来不及

4个节点,下线2个节点可以么 ?

这是测试环境吗?如果是不严肃的测试环境,可以先修改下副本数再下线,使用 pd-ctl 修改 max-replicas: 1 在试下缩容。

哦,好哒,目前是测试环境,下周准备转正。

弱弱问一下,语句是什么?没搜到

参考文档

https://pingcap.com/docs-cn/stable/pd-control/#下载安装包

pd-ctl -> config set max-replicas 1

这种操作仅限不严肃的测试环境哈,在正式环境,还是要按照默认的 3 副本来部署环境。

嗯嗯,明白。感谢