tikv磁盘告警扩容 (通过先扩容再缩容实现)

【概述】
tikv磁盘紧张,现准备通过扩容缩容的办法进行磁盘替换,然而scale-out.yaml里新加节点的路径和global配置参数里的不一样(因为扩容节点和原节点在同一服务器上)像这种新节点的路径和global不一致,这样扩容的话,是否能成功?
【TiDB 版本】4.0.14

1 个赞

scale-out.yaml里为新扩容的节点单独指定下路径

2 个赞

这样操作是没问题的。关于配置,这里有说明: 使用 TiUP 扩容缩容 TiDB 集群 | PingCAP Docs

3 个赞

scale-out.yaml 只对新扩容的有效,不会有影响,不过为什么要不一样呢?

1 个赞

能成功

因为他得先扩容在把老的缩容,现有的路径已经被老的占用了

2 个赞

哦哦哦。。。。

1 个赞

扩容时报错了,新的节点跟旧的节点在同一个主机上,这种需要修改什么吗

在扩容的时候,可以尝试更换一个和之前不一样的端口,再次扩容

新节点的端口号跟之前是不一样的,像这种新节点跟原来节点在同一个主机的,只是端口不同的,还需要配置其他的吗

路径也得不同

路径,端口号,都改为不同的了

我看主要报错是: multiple TiKV instances are deployed at the same host but location label missing

能看一下现在的集群状态吗,是不是之前的tikv节点还没有缩容成功呀。因为提示的是多个节点在同一个机器上,会导致 PD 无法感知集群的拓扑结构,可能将一个 Region 的多个副本调度到一台物理机上的不同 TiKV,这样这台物理机就成为了单点

设置下label

是先扩容,再缩容的,目前扩容的时候报错了,集群目前状态正常,因为扩容的节点和之前节点在同一主机上,只是新的tikv节点的路径和端口号跟之前的不一样

对新加节点设置label吗,我在scale-out.yaml文件里加上了config:
server.labels: { zone: “zone1”, dc: “dc1”, host: “host1” }

那可以临时使用 --no-labels来跳过检查,然后去缩容之前的tikv
tiup cluster scale-out | PingCAP Docs

1 个赞

嗯,一台服务器上有两个tikv,这个相当于单机多实例安装了,参考下这个吧
https://asktug.com/t/topic/37680
临时扩容就用 --no-labels吧,反正缩容后其实还是单实例。。

加上 --no-labels 后,扩容完成了。那现在是不是可以进行缩容命令,把老的三个节点给去掉了?这样会不会导致数据丢失啊