破折号在CURRENT-OFFSET中表示什么

时间:2018-01-29 07:53:08

标签: apache-kafka kafka-consumer-api

参考下面的消费者群体描述的截图,我试图了解" - "这里的意思是CURRENT-OFFSET。是否表示消息不会从分区1和消息中消耗掉。 3即使分区分配给消费者。分区1和1的LOG-END偏移量3是281&分别为277。

enter image description here

3 个答案:

答案 0 :(得分:2)

CURRENT-OFFSET表示此使用者实例的分区消耗消息的当前最大偏移量,而LOG-END-OFFSET是分区中最新消息的偏移量。

在您的情况下,消费者已经消耗了分区0和2的所有消息,这就是为什么这两个分区的滞后为零的原因。但是,对于分区1和3,要么没有为它们分配消费者实例,要么消费者无法读取这两个分区的任何记录。

答案 1 :(得分:0)

分区1和3没有报告current-offsetlag,因为没有为它们完成Kafka提交。即使将消费者实例分配给正在读取记录的消费者实例也是如此。

答案 2 :(得分:0)

我遇到了类似的问题。就我而言,有 2 个消费者,在同一个消费者组下运行。一个消费者在开发环境中运行,另一个消费者在我的本地运行。

在我本地运行的消费者实例将自身锁定到其中一个分区,但它可以从该分区读取任何消息。结果,滞后计数不断增加。我的本地人在读取权限方面存在一些问题,因此无法处理消息。

因此,仅仅因为您的消费者将自己锁定在一个分区上,并不意味着它可以读取记录。