参考下面的消费者群体描述的截图,我试图了解" - "这里的意思是CURRENT-OFFSET。是否表示消息不会从分区1和消息中消耗掉。 3即使分区分配给消费者。分区1和1的LOG-END偏移量3是281&分别为277。
答案 0 :(得分:2)
CURRENT-OFFSET
表示此使用者实例的分区消耗消息的当前最大偏移量,而LOG-END-OFFSET
是分区中最新消息的偏移量。
在您的情况下,消费者已经消耗了分区0和2的所有消息,这就是为什么这两个分区的滞后为零的原因。但是,对于分区1和3,要么没有为它们分配消费者实例,要么消费者无法读取这两个分区的任何记录。
答案 1 :(得分:0)
分区1和3没有报告current-offset
和lag
,因为没有为它们完成Kafka提交。即使将消费者实例分配给正在读取记录的消费者实例也是如此。
答案 2 :(得分:0)
我遇到了类似的问题。就我而言,有 2 个消费者,在同一个消费者组下运行。一个消费者在开发环境中运行,另一个消费者在我的本地运行。
在我本地运行的消费者实例将自身锁定到其中一个分区,但它可以从该分区读取任何消息。结果,滞后计数不断增加。我的本地人在读取权限方面存在一些问题,因此无法处理消息。
因此,仅仅因为您的消费者将自己锁定在一个分区上,并不意味着它可以读取记录。