zl程序教程

您现在的位置是:首页 >  其它

当前栏目

【读者答疑】为啥我创建的topic分区分配不均匀?

创建 分区 分配 为啥 topic 答疑 读者 均匀
2023-06-13 09:11:54 时间

问题描述

问题描述图解

这位朋友的问题是:

  1. 集群有6个Broker
  2. 创建topicA 有60个分区 单副本
  3. Broker-0 中挂载了2个磁盘,有2个目录

为啥创建topicA的时候, 最终分配方式 目录1和目录2不是平均分配呢?

问题解答

这个问题是 分区副本分配策略的问题

分区在Broker层面的分配策略

按照当前的topic分区数量平均分配, 负载均衡, 所以每个Broker都可以分配到 10个分区。

单Broker多目录的分配策略

按照 每个目录总分区数量进行平均分配, 这个时候跟这个Topic的分区数量就没有关系了,而是总数量 假如分配前 目录1就已经存在了10个分区, 而目录2 只有3个,按照分区总数量平均分配策略, 那么现在Broker分配了10个新分区的时候,就会优先把 目录2 分配满了10个,然后再轮流分配。

问题扩展

关于分区副本分配的规则可以简单看下图

具体详情请看文章

  1. 关于分区副本分配的一个Bug
  2. 分区副本分配规则源码解析