为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:3.0
- 【问题描述】:TiDB增加新的节点数据怎么均衡
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
建议从官网 region 调度相关内容开始了解。我先只说几个比较重要的方面:
1:扩容新的 TiKV实例后,会以 region 做为最小调度粒度,往新扩容的实例上迁移副本以及transfer leader
2:region 自动调度主要出于两个目的:均衡各个 TiKV实例剩余存储容量以及均衡各个 TiKV实例的计算能力(比如在实例之间均衡 Leader 节点,hot read/write )
另外还可以参考如下实践
https://pingcap.com/docs-cn/stable/reference/best-practices/massive-regions/#海量-region-集群调优最佳实践
我想了解一下,添加tikv之后,数据是自动均衡数据,还是需要手动均衡数据?如果自动均衡的话网络带宽在哪儿设置?如果需要手动数据均衡,那怎么均衡数据?网络带宽能限速么? 数据均衡过程中影响业务正常使用么?
自动调度。做个测试很容易观察出来。
没有宽带的限制,有每次调度 region 个数的限制。具体参考一下 pd-ctl 工具的介绍:
https://pingcap.com/docs-cn/stable/reference/tools/pd-control/
集群是怎么计算某一个region需要移动到新的节点上的?如果数据量很大,那数据均衡需要花很长的时间才能均衡完成,有什么好的办法控制么?若在大量计算和数据均衡同时进行,那影响业务正常运行,这个怎么破。。
内部实现上是通过计算每个实例的 score 分数,将 score 分数高的往 score 分数低的迁移。用户只需要关注剩余存储容量、leader 个数、hot write/read 是否均衡。如上面所讲,建议仔细了解一下 pd-ctl 上讲到的相关调度 scheduler的配置。
好的,谢谢,我仔细阅读阅读
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。