2017-08-03 4 views
0

ファイルチャネルを使用しているときにFlumeデータが回復可能であり、メモリチャネルが使用できない場合、私は混乱しています。Flumeメモリチャネルはいつ復元可能ではないのですか?その理由は何ですか?

私はカフカシンクを試しましたが、読んでいる間にFlumeを置くと、カフカはチャンネルのデータ(ファイル)を正しく読み込みます。 Flumeが再開されると、パイプラインは確実にデータを引き渡し続けます。どのようにメモリチャネルを回復できないのか?場合は、私はチャネルのデータを回復する必要がありますか?特に、Flumeが保存されたオフセットからファイルを読み始める場合。

答えて

0

Kafkaを再起動して、メッセージが失われていないかどうかを確認できます。

オフセットコンセプト: これは、flumeトランザクション処理によって異なります。 flumeの再始動の過程で、トランザクションの一部がコミットされる可能性がありますが、接続が失われて処理が失敗する可能性があります。 例:トランザクションを処理してから、dbに格納します。また、flume sinkが例外をスローした場合でもtransaction.commit()があります。したがって、処理ロジックが例外をスローすると、再起動プロセスでデータが失われます。トランザクションがコミットされ、オフセットが増加します。

したがって、再起動プロセスの前にオフセットを取る方が安全です。あなたは、輸出を取る

  1. に従うべきでインポートオフセット
  2. スタート水路
  • 停止水路をオフセット
  • 関連する問題