我是 Kafka 的新用户,现在已经试用了大约 2-3 周。

在此设置中,我的控制台始终记录有关"重新平衡触发"的问题。当我将新的消费者添加到消费者群体中时,是否会发生重新平衡,并且是否触发它们是为了确定同一组中的哪个消费者实例将获得哪些分区或将重新平衡完全用于其他事物?

我也从https://cwiki.apache.org/confluence/display/KAFKA/Kafka 0.9 消费者重写设计我似乎无法理解它,所以如果有人能帮助我理解它,我将不胜感激:

重新平衡是一组消费者实例(属于同一群体)协调以拥有该组所订阅的主题的一组分区集的过程。在为消费者组成功的重新平衡操作结束时,所有订阅主题的每个分区都将由该组中的一个消费者实例所有。重新平衡工作的方式如下。每个经纪人都被选为消费者群体子集的协调员。集团的协调经纪人负责在消费者组成员资格变更或分区更改中为订阅主题进行重新平衡。它还负责将最终的分区所有权配置传达给正在进行重新平衡操作的集团的所有消费者。

答案

当新消费者加入消费者组时,一组消费者试图"重新平衡"负载,以将分区分配给每个消费者。如果在进行此任务时,一组消费者会发生变化,那么重新平衡将失败和重试。此设置在放弃之前控制最大尝试数量。

这样的命令是:rebalance.max.tries,默认设置为4。

另外,如果以下内容为真:可能会发生:

Zookeeper会话超时。如果在此期间,消费者未能为动物园管理员发送心跳,将被认为死亡,并且会发生重新平衡。

希望这可以帮助!

来自: stackoverflow.com