【问题标题】:When does kafka-consumer-groups.sh show CURRENT_OFFSET as "-"?kafka-consumer-groups.sh 何时将 CURRENT_OFFSET 显示为“-”?
【发布时间】:2018-06-12 09:54:09
【问题描述】:

CURRENT-OFFSET 列显示“-”是什么意思?

TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             CONSUMER-ID                                        HOST            CLIENT-ID
events          6          -               4021552         -               stream-processor-975c-StreamThread-1-consumer-d6f1 /my.ip  stream-processor-975c-StreamThread-1-consumer
events          2          -               7056462         -               stream-processor-975c-StreamThread-1-consumer-d6f1 /my.ip  stream-processor-975c-StreamThread-1-consumer
events          12         3143580         11052506        7908926         stream-processor-975c-StreamThread-1-consumer-d6f1 /my.ip  stream-processor-975c-StreamThread-1-consumer
... several other entries, some with and some without "-"

什么可以产生这种情况,这对消费者意味着什么?

我正在这个主题(16 个分区)上运行一个 KafkaStreams 应用程序,有 3 个实例,每个实例一个线程。我最近有两个节点发生故障,并且这个主题的复制 = 2,所以一些分区在一段时间内没有领导者。

处于这种状态的分区如何影响普通消费者或 Kafka Streams 应用程序?

【问题讨论】:

  • 有多少消费者线程正在运行?
  • 三个应用实例,每个一个线程。

标签: apache-kafka partitioning kafka-consumer-api apache-kafka-streams


【解决方案1】:

如果消费者尚未提交其偏移量,您将看到破折号- 表示不可用。出于同样的原因,无法计算滞后并显示-

【讨论】:

  • “不可用”的后果是什么?应用程序是否完全不使用这些分区?怎么修?这发生在应用程序因代理故障而停止之后,但即使“事件”主题的复制=2(因此一些分区在此过程中成为领导者=-1),__consumer_offsets 复制=3 和一个代理(共 3 个) ) 在此过程中始终可用,因此它们不应该丢失,对吗?重启了 broker,然后重启了 KafkaStreams 应用,显然从一开始就重新处理了(根据输出的主题编号)
  • 这听起来基本正确。偏移量的保留时间是多少?如果它们的提交时间超过保留时间,Kafka 也会删除它们。
  • 不应该是这样 - 这是一个紧凑的话题。发送了 100 万个事件来处理,现在不再显示“-”,所有 1M 已处理,滞后现在为 0。那么,是什么使它变得不可用?如果它们变得不可用,使用“最早”,这是否意味着它将: 1/ 从头开始​​? 2/ 从“现在”开始? 3/ 以某种方式从中断的地方继续?
  • 您的意思是__consumer_offsets 主题?是的,它被压缩了,但它仍然会在保留时间后删除旧的偏移量(如果这不会发生,将没有机制为不再使用的消费者组清理主题,因为你不能手动编写墓碑)。比较cwiki.apache.org/confluence/display/KAFKA/… - 如果您指定重置策略“最早”,则将从头开始处理。如果您指定“最新”,则它从“当前日志结束”开始。
  • 抱歉,我回复的是我实际主题的保留,而不是“offsets.retention.minutes”。我现在明白了,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-02
  • 1970-01-01
  • 2021-03-10
相关资源
最近更新 更多