我在启动Kafka消费者时收到异常。
org.apache.kafka.clients.consumer.OffsetOutOfRangeException: 如果没有为分区{test-0 = 29898318}
配置重置策略,则偏移超出范围
我正在使用Kafka 9.0.0版和Java 7。
答案 0 :(得分:15)
因此,您尝试访问主题(29898318
)分区(test
)中的偏移量(0
),该分区现在不可用。
这个
可能有两种情况0
可能没有那么多消息29898318
的邮件可能已按保留期删除为避免这种情况,您可以执行以下操作之一:
auto.offset.reset
配置设为smallest
或largest
。
您可以找到有关此here smallest offset
主题分区
按照Kafka命令行工具运行<强>命令:强>
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list <broker-ip:9092> --topic <topic-name> --time -2
希望这有帮助!
答案 1 :(得分:2)
在运行具有特定changelog主题配置的Kafka Streams状态存储时,我遇到了这样的问题:
cleanup.policy=cleanup,delete
当我的应用程序关闭4天以上时,Kafka Streams仍具有指向不再存在的偏移量的快照(已被kafka删除,因为保留窗口不在外面)。在这种情况下,The restore consumer is configured to fail不会退回到最早的偏移量。
由于我对超过4天的数据不感兴趣,因此我使用了streams-application-reset工具来清除变更日志主题。