Kafka使用者偏移超出范围,没有为分区配置重置策略

bas*_*aza 12 java apache-kafka kafka-consumer-api

我在启动Kafka消费者时收到异常.

org.apache.kafka.clients.consumer.OffsetOutOfRangeException:偏移超出范围,没有为分区配置重置策略{test-0 = 29898318}

我正在使用Kafka版本9.0.0和Java 7.

avr*_*avr 19

所以你试图访问29898318topic(test)partition(0)中的offset(),它现在不可用.

可能有两种情况

  1. 您的主题分区0可能没有那么多消息
  2. 您在偏移量处的消息29898318可能已在保留期内删除

为避免这种情况,您可以执行以下操作之一:

  1. auto.offset.resetconfig 设置为smallestlargest.你可以在这里找到更多相关信息
  2. 您可以smallest offset通过运行以下Kafka命令行工具来获取主题分区

命令:

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list <broker-ip:9092> --topic <topic-name> --time -2
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!

  • 谢谢伙伴,我尝试了这个但没有用。auto.offset.reset应该是最新,最早或没有 (3认同)
  • @BdEngineer `retention_period` 与 `group.id` 没有关系。设置新的“group.id”会刷新消费者组的元数据(在 Broker 处)。由于这是一种边缘情况,因此没有_永久_(可配置?)解决方案。 (2认同)