LoginSignup
2
2

More than 5 years have passed since last update.

Apache NiFi GetKafkaのRead Offsetはクリアできないっぽい。

Posted at

GYAOの窓際エンジニア 玉利です。

オフショアマネージメントの仕事が忙しくて、個人作業が滞ってました。みなさんすみません。

久しぶりにNiFiを起動して仕事を始めると、前回うごいていたGetKafkaが、なにやら動きません。

[2016-03-19 18:21:55,250] ERROR [Replica Manager on Broker 0]: Error when processing fetch request for partition [nifi,0] offset 605 from consumer with correlation id 522. Possible cause: Request for offset 605 but we only have log segments in the range 0 to 0. (kafka.server.ReplicaManager)

どうやら、consumerのポインタがずれたようです。実在しない605番を取得しようとしてるけど、すでにlogには残っていないっぽいですね。

試験環境では、Kafka ConsumerとしてGetKafkaおよびコマンド kafka-console-consumer.shを叩いて使っています。こういう状況がおきるのは、実運用では以下のようなケースが予想されます。

  • コンシューマを長期間サービスアウトしてて、もどしたらオフセットポインタのデータがすでにkafkaログから消えてた

とりあえず、いろいろ悪あがきをしていました。私の得た結果は以下になります。

結論

  • GetKafkaのオフセットポインタを手動でクリアするのは難しい
  • GetKafkaは再作成、コピーはオフセットデータも継承するので×
  • おそらく、コンテナごと作り直しするのが正しい

2時間くらいハマりましたが、コンテナ時代ではシステムの修理ではなくてモジュール使い捨ての作り直しが速い、という設計思想なんですね。どこかのxmlに格納されてるデータをいじってがんばれば直せるかもしれませんが。。。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2