私は Kafka 0.8 と Zookeeper 3.3.5 を使用しています。実際、何の問題もなく消費しているトピックがたくさんあります。
最近、奇妙な動作をする新しいトピックをフィードして消費し始めました。消費されたオフセットが突然リセットされました。設定した auto.offset.reset ポリシー (実際には最小) を尊重しますが、トピックが突然オフセットをリセットする理由がわかりません。
私は高レベルのコンシューマーを使用しています。
ここに私が見つけたいくつかのエラーログがあります: 私たちはこのエラーログをたくさん持っています:
[2015-03-26 05:21:17,789] INFO ブローカ ID:1、ホスト:172.16.23.1、ポート:9092 からメタデータを取得しています。相関 ID は 47 で、1 つのトピック セット (MyTopic) (kafka.cl) ient.ClientUtils$) [2015-03-26 05:21:17,789] 172.16.23.1:9092 へのエラー プロデューサー接続に失敗しました (kafka.producer.SyncProducer) java.nio.channels.ClosedByInterruptException java.nio.channels.spi.AbstractInterruptibleChannel.end (AbstractInterruptibleChannel.java:202) で sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:681) で kafka.network.BlockingChannel.connect(BlockingChannel.scala:57) で kafka.producer.SyncProducer.connect(SyncProducer.scala:141) で kafka.producer.SyncProducer.getOrMakeConnection(SyncProducer.scala:156) で kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:68) で kafka.producer.SyncProducer.send(SyncProducer.scala:112) で kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:53) で kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:88) で kafka.consumer.ConsumerFetcherManager$LeaderFinderThread.doWork(ConsumerFetcherManager.scala:66) で kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:51) で
この問題が発生するたびに、WARN ログが表示されます。
[2015-03-26 05:21:30,596] ソケット エラーによる再接続の警告: null (kafka.consumer.SimpleConsumer)
そして、実際の問題が発生します。
[2015-03-26 05:21:47,551] 情報 (kafka.producer.SyncProducer) を生成するために 172.16.23.5:9092 に接続されました [2015-03-26 05:21:47,552] 172.16.23.5:9092 (kafka.producer.SyncProducer) からの情報切断 [2015-03-26 05:21:47,553] INFO [ConsumerFetcherManager-1427047649942] パーティション ArrayBuffer([[MyTopic,0], initOffset 45268422051 の fetcher を br に追加) oker id:5、ホスト:172.16.23.5、ポート:9092] ) (kafka.consumer.ConsumerFetcherManager) [2015-03-26 05:21:47,553] 情報 [ConsumerFetcherThread-MyTopic_group-1427047649884-699191d4-0-5]、開始 (kafka.consumer.Cons umerFetcherThread) [2015-03-26 05:21:50,388] エラー [ConsumerFetcherThread-MyTopic_group-1427047649884-699191d4-0-5]、パーティション [MyTopic、0] の現在のオフセット 45268422051 が範囲外です。オフセットを 1948447612 にリセットします (kafka.consumer.ConsumerFetcherThread) [2015-03-26 05:21:50,490] エラー [ConsumerFetcherThread-MyTopic_group-1427047649884-699191d4-0-5]、パーティション [MyTopic、0] の現在のオフセット 1948447612 が範囲外です。オフセットを 1948447612 にリセットします (kafka.consumer.ConsumerFetcherThread) [2015-03-26 05:21:50,591] エラー [ConsumerFetcherThread-MyTopic_group-1427047649884-699191d4-0-5]、パーティション [MyTopic、0] の現在のオフセット 1948447612 が範囲外です。オフセットを 1948447612 にリセットします (kafka.consumer.ConsumerFetcherThread) [2015-03-26 05:21:50,692] エラー [ConsumerFetcherThread-MyTopic_group-1427047649884-699191d4-0-5]、パーティション [MyTopic、0] の現在のオフセット 1948447612 が範囲外です。オフセットを 1948447612 にリセットします (kafka.consumer.ConsumerFetcherThread)
ここでの質問: すでにこの動作を経験した人はいますか? auto.offset.reset が最大か最小かに関係なく、カフカがオフセットをリセットすることを決定したときに教えてくれる人はいますか?
ありがとうございました。