Start Kafka consumerの場合、例外を受け取ります。
org.Apache.kafka.clients.consumer.OffsetOutOfRangeException:パーティションのリセットポリシーが設定されていない範囲外のオフセット{test-0 = 29898318}
Kafka version 9.0.0 with Java 7。
したがって、offset(29898318
)トピック(test
)パーティション(0
)現在利用できません。
これには2つのケースがあります
0
これらの多くのメッセージがない場合があります29898318
は保持期間までに既に削除されている可能性がありますこれを回避するには、次のいずれかを実行できます。
auto.offset.reset
smallest
またはlargest
に設定します。これに関する詳細情報を見つけることができます こちらsmallest offset
以下を実行することにより、トピックパーティションで利用可能Kafkaコマンドラインツールコマンド:
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list <broker-ip:9092> --topic <topic-name> --time -2
お役に立てれば!
私はこれをヒットしましたSO特定のchangelogトピック設定でStreams状態ストアを実行するときの問題:Kafka
cleanup.policy=cleanup,delete
Kafka Streamsには、もう存在しないオフセットを指すスナップショットファイルがまだある場合、 復元コンシューマーは失敗するように構成されています 。このシナリオは、非常に少ないデータが入ったとき、またはアプリケーションがダウンしたときに起こります。どちらの場合も、変更ログの保持期間内にコミットがなければ、スナップショットファイルは更新されません。 )
この問題を解決する最も簡単な方法は、kafka Streamsアプリケーションを停止し、そのローカル状態ディレクトリを削除して、アプリケーションを再起動することです。