kafka分区重新平衡(赋值)占用了太多时间

时间:2016-04-05 17:35:36

标签: apache-kafka kafka-consumer-api kafka-producer-api

我们正在使用带有3台服务器的kafka集群,所有这些服务器都有zookeeper。我们有7个主题,每个主题有6个分区。每个主题我们有3个java消费者。当我启动消费者时,将分区分配给消费者需要将近3-5分钟。当我们停止其中一个消费者并再次启动时会遇到相同的行为。我该如何控制或减少它?

请注意,我正在使用kafka 0.9,新消费者

我在每个kafka的server.properties中添加了以下属性

auto.leader.rebalance.enable=true
leader.imbalance.check.interval.seconds=10

如果您需要更多信息,请与我们联系。 感谢

1 个答案:

答案 0 :(得分:4)

检查消费者用于' session.timeout.ms'的价值。

默认值是30秒,协调不会触发重新平衡,直到这个时间过去了。没有心跳30秒。

降低这种情况的危险在于,如果您花费太长时间处理消息,可能会发生重新平衡,因为协调员会认为您的消费者已经死亡。