卡夫卡消费群max.poll.interval.ms无法正常工作

时间:2019-03-01 16:12:10

标签: apache-kafka

我正在尝试将使用者组属性设置为仅每分钟消耗一条消息

consumer.properties

group.id=test_group
max.poll.interval.ms=60000
session.timeout.ms=60000
max.poll.records=1

制作人

kafka-console-producer.sh --broker-list localhost:6667 --security-protocol SASL_PLAINTEXT --topic cdc_poc 

消费者

kafka-console-consumer.sh --bootstrap-server d9lcwphd1e1:6667 --security-protocol SASL_PLAINTEXT --consumer.config ~/kafka/consumer.properties --topic diyotta_cdc_poc

问题 我没有看到等待消息使用的任何时间

1 个答案:

答案 0 :(得分:1)

max.poll.interval.ms 配置不适用于延迟使用方,使用组管理时,如果使用方未能在60000 ms内进行轮询,则Zookeeper会认为使用方已死亡并调用重新平衡。 / p>

这表示在轮询之后,如果使用者线程进行后续轮询所花费的时间超过60000毫秒,则该使用者被认为是失败的,并且该组将重新平衡

  

使用使用者组管理时,调用poll()之间的最大延迟。这为使用者在获取更多记录之前可以处于空闲状态的时间设置了上限。如果在此超时到期之前未调用poll(),则认为使用方失败,该组将重新平衡以将分区重新分配给另一个成员。

如果kafka服务器中有数据,那么消费者随后将立即轮询记录