tidb小白
(Ti D Ber Emsp S Ckm)
2026 年3 月 18 日 02:58
1
【 TiDB 使用环境】生产环境
【 TiDB 版本】8.5.1
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
背景:
我当前已有一个集群,tikv和tiflash混合部署,原集群,所有节点均未添加labels,我现在需要往集群里再分别添加三个tikv节点和三个tiflash节点。这6个节点,我需要添加labels,然后通过placement rule in sql配置放置测了,让这6个节点,只存放testabc的库。其余所有的库还是存放在现有的三个节点上,我该怎么做呢?
扩容步骤:
1、修改原有集群的拓扑文件,将PD添加上replication.location-labels配置,重新reload加载集群配置。
2、新增scale.yaml,添加新的tikv节点和tiflash节点,并给新的节点启用server.labels。
问题:
1、为达到我们目的,以上扩容步骤是否正确?
2、原有集群的拓扑文件,是只修改PD配置就可以吗?原有集群的tikv和tiflash是否需要添加标签?
3、我通过放置策略,能否将原有节点上的某个库,迁移到新节点上?
Royce1220
(Ti D Ber Kwxb3 N7 I)
2026 年3 月 21 日 04:17
4
扩容的时候添加标签,创建placement rule,指定特定的数据就行了吧
乾坤大挪移
(Ti D Ber A8r Uup Mr)
2026 年3 月 21 日 10:19
5
tidb小白:
背景:
我当前已有一个集群,tikv和tiflash混合部署,原集群,所有节点均未添加labels,我现在需要往集群里再分别添加三个tikv节点和三个tiflash节点。这6个节点,我需要添加labels,然后通过placement rule in sql配置放置测了,让这6个节点,只存放testabc的库。其余所有的库还是存放在现有的三个节点上,我该怎么做呢?
扩容步骤:
1、修改原有集群的拓扑文件,将PD添加上replication.location-labels配置,重新reload加载集群配置。
2、新增scale.yaml,添加新的tikv节点和tiflash节点,并给新的节点启用server.labels。
问题:
1、为达到我们目的,以上扩容步骤是否正确?
2、原有集群的拓扑文件,是只修改PD配置就可以吗?原有集群的tikv和tiflash是否需要添加标签?
3、我通过放置策略,能否将原有节点上的某个库,迁移到新节点上?
第一步:给 PD 增加 location-labels
修改 topology.yaml
pd_servers:
host: 10.0.0.1
config:
replication.location-labels: [“zone”]
例如定义一个 label:
zone
然后 reload
tiup cluster reload tidb-test -R pd
检查
show config where name like ‘%location%’;
应看到
replication.location-labels = [“zone”]
第二步:给原有节点打 label
这是关键步骤。
否则:
新节点有 label,旧节点没有 label,PD 无法区分放置策略
修改原 topology
给原 3 个 TiKV
tikv_servers:
host: 10.0.0.2
server_labels:
zone: old
host: 10.0.0.3
server_labels:
zone: old
host: 10.0.0.4
server_labels:
zone: old
给原 TiFlash
tiflash_servers:
然后
tiup cluster reload tidb-test
第三步:扩容新节点
scale.yaml
tikv_servers:
host: 10.0.0.7
server_labels:
zone: testabc
host: 10.0.0.8
server_labels:
zone: testabc
host: 10.0.0.9
server_labels:
zone: testabc
tiflash_servers:
host: 10.0.0.10
server_labels:
zone: testabc
host: 10.0.0.11
server_labels:
zone: testabc
host: 10.0.0.12
server_labels:
zone: testabc
扩容
tiup cluster scale-out tidb-test scale.yaml
2 个赞
乾坤大挪移
(Ti D Ber A8r Uup Mr)
2026 年3 月 21 日 10:20
6
重要注意点
1)副本数必须满足
比如
FOLLOWERS=2
那么必须
至少3个tikv
否则 policy 不会生效。
2)不要把 default policy 改掉
只绑定 testabc
不要
ALTER DATABASE *
否则整个集群都会调度。
3)建议限速
因为 region 迁移会大量 IO
可以限制
set config pd schedule.max-merge-region-size=20
或
set config pd schedule.leader-schedule-limit=4
set config pd schedule.region-schedule-limit=4
避免影响线上。
2 个赞