【发布时间】:2018-07-12 21:37:54
【问题描述】:
我正在创建 6 个具有相同组 ID 的消费者。所有消费者都订阅了 2 个主题,每个主题有 3 个分区。由于跨 2 个主题有 6 个消费者和 6 个分区,我希望使用所有消费者。但我没有看到所有消费者都在使用,有没有办法可以强制它重新平衡?
我正在使用 kafka 0.10.2.0
【问题讨论】:
我正在创建 6 个具有相同组 ID 的消费者。所有消费者都订阅了 2 个主题,每个主题有 3 个分区。由于跨 2 个主题有 6 个消费者和 6 个分区,我希望使用所有消费者。但我没有看到所有消费者都在使用,有没有办法可以强制它重新平衡?
我正在使用 kafka 0.10.2.0
【问题讨论】:
为同一消费者组中的消费者分配分区不是跨主题的。跟随发生在你身上的事情...... 您有 t1_p0、t1_p1 和 t1_p2(topic1 上的分区)和 t2_p0、t2_p1 和 t2_p2(topic2 上的分区)。然后你有一个有 6 个消费者 c1、c2、... c6 的消费者组。 当他们订阅topic1时,可能会发生c1、c2和c3得到t1_p0、t1_p1和t1_p2;其他 3 个消费者(c4、c5、c6)因为没有足够的分区而处于空闲状态。 当同一个消费者订阅topic2时,可能会发生同样的情况:c1、c2和c3得到t1_p0、t1_p1和t1_p2;其他 3 个消费者(c4、c5、c6)因为没有足够的分区而处于空闲状态。 我知道您希望 c4、c5 和 c6 从主题 2 中获取这些分区,但正如我所说,分区分配不会跨主题发生,而是针对同一主题中的分区。 在这种情况下,您有 c4、c5 和 c6 处于空闲状态且未使用。
【讨论】: