TiUP扩容TiDB集群异常

我们按照官方文档使用TiUP对集群进行扩容后,display能够看到当前节点已经加入,新节点启动也一切正常,但是新节点并未开始同步数据。



我们以前的节点系统用的是Ubuntu(包括中控机),新加的三个节点使用的是centos,是否会有影响?
以及服务器之间的通讯网速是否有影响?
相关版本号:

不建议使用不同的系统来搭建 TiDB 集群,这个调度异常应该和不同的系统关系不大。建议可以参考一下文档的调度策略。另外 4.0 版本以后采用的 store schedule 调度,可以调整确认一下 store 的 limit 配置状态是否正常。

https://docs.pingcap.com/zh/tidb/stable/configure-store-limit#store-limit

https://docs.pingcap.com/zh/tidb/stable/pd-scheduling-best-practices#pd-调度策略最佳实践

  1. store limit 查看结果,两台新增节点的值 与其他tikv节点一致
"24380026": {
    "rate": 15,
    "mode": "auto"
  },

  "24380027": {
    "rate": 15,
    "mode": "auto"
  },
  1. 根据第二个文件pd调度策略,排查问题:
  1. 监控界面中pd的config信息:

  2. grafana监控界面没有新增两个节点(10.12.5.234 和10.12.5.237)的任何信息:

再结合这两个新增节点的score极低,也没有任何balance发生,所以推测当前问题属于:

如果不同 Store 的分数差异较大,没能生成对应的 balance 调度。可能的原因有:

  • 调度器未被启用。比如对应的 Scheduler 被删除了,或者 limit 被设置为 “0”。
  • 由于其他约束无法进行调度。比如系统中有 evict-leader-scheduler ,此时无法把 Leader 迁移至对应的 Store。再比如设置了 Label property,也会导致部分 Store 不接受 Leader。
  • 集群拓扑的限制导致无法均衡。比如 3 副本 3 数据中心的集群,由于副本隔离的限制,每个 Region 的 3 个副本都分别分布在不同的数据中心,假如这 3 个数据中心的 Store 数不一样,最后调度就会收敛在每个数据中心均衡,但是全局不均衡的状态。

但文档没有明确说如何解决,或者去查看是否存在这些问题。能否麻烦您帮忙解决一下?

  1. 可以通过 pd-ctl 工具查询一下 “config show all" 来确认一下当前的是否有 schedule limit 配置为 0 的情况;
  2. 这个也会在 pd-ctl 工具,通过 scheduler [show | add | remove | pause | resume | config] 的相关命令进行排查和删除异常的配置;
  3. label 配置可以看一下查看一下 pd-ctl 工具查看 “store” 看一下对应的 label 配置是否按照正确方式配置;

如果不太清楚如何查看,可以将以上的查询信息直接反馈出来。