tikv集群扩容,有什么参数可以加速region平衡迁移速度的?

【 TiDB 使用环境】生产环境
【 TiDB 版本】 5.3.0
【遇到的问题:问题现象及影响】

背景:

旧的tikv服务器磁盘有问题,打算平滑替换,于是加入新节点替换旧节点的方案

新旧机器配置和现状

原tkv三个节点,每个节点有140万region,新扩容的节点是16c/32g配置,现在在平衡的过程中新节点cpu使用率才7%,旧tikv节点cpu使用率 50%
按现在的速度估算得37天才能平衡完成

问题

  1. 有没有什么参数可以加快region平衡的,集群晚上空闲可以调大,白天再调小这个参数
  2. 另外,在平衡的过程中如果集群性能下降太厉害,能暂停region迁移吗?

select * from INFORMATION_SCHEMA.CLUSTER_CONFIG t
where t.KEY like ‘%schedule-limit%’
可以看到pd调度配置
把 leader-schedule-limit 默认4,region-schedule-limit默认2048调大些。

修改命令:
set config pd schedule.leader-schedule-limit=8;
set config pd schedule.region-schedule-limit=4096;

2 个赞

可以参考这个文章中的参数修改方法: 专栏 - 生产环境TiDB集群缩容TiKV操作步骤 | TiDB 社区

2 个赞

good

config set max-pending-peer-count 16
config set replica-schedule-limit 64

1 个赞

主要就是这三个
leader-schedule-limit
region-schedule-limit
store limit
具体调多大,看你的配置了

1 个赞

谢谢各位20个小时平衡完成,上个图



旧节点下线

1 个赞

:astonished:20个小时?看数据量没有特别大。不过加速参数尽量还是在业务低峰期使用。


这是region最后的平衡图
有一事不明,亲节点磁盘3t,旧节点2t

为什么新机器的region数量要比旧机器的region数量多呢?不是应该大家平衡一样多吗?

这是对的,之前3节点3副本,每个节点2t,总数据量是2t乘以3是6t,现在变成2节点3副本,总数据量不变,节点数减少,6t除以2就是每个节点3t了。

每个store节点都有一个打分Region score ,pd会根据这个Region score平衡各个节点的region

  1. balance-region-scheduler-limit: 这个参数可以控制 region 平衡迁移的速度。默认情况下,每个节点的平衡迁移并发数是 8。您可以适时调整这个参数,增加它以加速平衡迁移,但要注意不要设置得太高以避免对集群性能造成负面影响。
  2. max-rebalance-region-scheduler-count: 这个参数限制了平衡 region 的调度器数量。您可以尝试增加这个参数的值,以允许更多的 region 平衡迁移同时进行。
  3. leader-schedule-limit: leader 调度器也会影响平衡,您可以考虑适时增加这个参数的值,以加速 leader 的调度和平衡。
1 个赞