我们正在使用带有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
如果您需要更多信息,请与我们联系。 感谢
答案 0 :(得分:4)
检查消费者用于' session.timeout.ms'的价值。
默认值是30秒,协调不会触发重新平衡,直到这个时间过去了。没有心跳30秒。
降低这种情况的危险在于,如果您花费太长时间处理消息,可能会发生重新平衡,因为协调员会认为您的消费者已经死亡。