没有活跃成员的kafka消费群体的CURRENT-OFFSET和LAG

时间:2020-07-03 15:25:45

标签: apache-kafka apache-flink

这两个设置如何?我用kafka-consumer-groups.sh观察到的行为是,当新消息附加到某个分区时,它首先增加其LOG-END-OFFSET和LAG列,然后过一段时间,CURRENT-OFFSET列将增加并虽然没有任何使用方实际未提交偏移量,但由于没有活动的使用方,因此LAG列会递减。我是对的,这在没有活动成员的消费者组中总是会发生吗,还是有可能关闭第二个阶段,该阶段模拟不存在的消费者提交的抵消额?这实际上是令人困惑的,您必须考虑到消费者组中没有活动成员的信息,以便对CURRENT-OFFSET和LAG列的实际含义有正确的认识(在这种情况下不多)。

好吧,看来使用者实际上确实在持续连接并轮询消息并提交偏移量,但是以一种不稳定的方式(每次都断开连接),因此kafka-consumer-groups.sh总是报告好像没有活动组中的成员。 这是一个以这种方式运行的flink工作。有可能吗?

2 个答案:

答案 0 :(得分:1)

如果保留策略开始执行并删除旧邮件,则滞后时间可能会减少(如果发布的日志少于已删除的日志),因为CURRENT-OFFSET的位置最早日志。

我会检查您的主题的保留策略是什么,因为这可能是由于删除了邮件造成的:滞后不关心被感染的消息,仅关心活动的消息。

答案 1 :(得分:1)

这与连接和断开kafka集群无关,这将是缓慢而无效的方法。它与flink kafka使用者的实现方式有关,在此进行描述:Flink Kafka Connector

已提交的偏移量仅是暴露消费者的 监控的进度。

它的基本作用是,它不订阅使用消费者组及其标准协调器和领导者机制的标准消费者作为主题,但是它直接分配分区,并且仅向消费者组提交偏移量以进行监视,尽管它具有也可以使用这些偏移量进行连续的方法,请参见here,但是无论如何,这就是为什么这些组在kafka中似乎没有活动的成员,并且仍然得到偏移量。