Kafka 使用者偏移量超出范围,未为分区配置重置策略
2022-09-02 12:17:28
在启动 Kafka 使用者时获得以下异常。
org.apache.kafka.clients.consumer.OffsetOutOfRangeException: Offsets 超出范围,没有为分区配置重置策略{test-0=29898318}
Kafka 版本: 9.0.0 Java 7
在启动 Kafka 使用者时获得以下异常。
org.apache.kafka.clients.consumer.OffsetOutOfRangeException: Offsets 超出范围,没有为分区配置重置策略{test-0=29898318}
Kafka 版本: 9.0.0 Java 7
因此,您正在尝试访问 topic() partition() 中的 offset() ,该分区() 现在不可用。29898318
test
0
可能有两种情况
0
29898318
为避免这种情况,您可以执行以下操作之一:
auto.offset.reset
earliest
latest
smallest offset
命令:
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list <broker-ip:9092> --topic <topic-name> --time -2
希望这有帮助!
我在运行具有特定更改日志主题配置的Kafka Streams状态存储时遇到了这个SO问题:
cleanup.policy=compact,delete
如果 Kafka Streams 仍有一个快照文件指向不再存在的偏移量,则还原使用者将配置为失败。它不会回退到最早的偏移量。当传入的数据很少或应用程序关闭时,可能会发生这种情况。在这两种情况下,如果在更改日志保留期内没有提交,则不会更新快照文件。(这是基于分区的)
解决此问题的最简单方法是停止 kafka 流应用程序,删除其本地状态目录,然后重新启动应用程序。