2017-02-22 8 views
1

私はPentaho CE用のKafka Consumer Pluginを使用しています。ペンタホが失敗し、あなたがメッセージを失った(公式の文書に基づいて、メッセージを2回読む方法がない、間違っているのですか?)という状況にいる人がいるかどうかを知りたいです。このような状況が発生した場合、再処理できるようにこれらのメッセージをどのようにキャプチャしますか?Pentaho Data Integration - Kafka Consumer

参照:

http://wiki.pentaho.com/display/EAI/Apache+Kafka+Consumer

答えて

0

カフカは、彼らが消費するかしてきたかどうかを設定された保存期間のためのメッセージを保持し、それは消費者がオフセット、彼らが以前に処理に戻って、再びそこに拾うことができます。

私はKafkaプラグインを自分で使っていませんが、自動コミットを無効にして管理することができます。おそらく、ApacheのKafkaシステムツールと、このコマンドラインのいくつかのステップが必要になるでしょう。最初に現在のオフセットをフェッチし、消費したメッセージから最後のオフセットを取得し、ジョブ/バッチが仕上げに達した場合は、その最後のオフセットをクラスタにコミットする必要があります。

開始オフセットをプラグインのフィールド(メッセージキー?)として指定することもできますが、それが何であるかに関するドキュメントは見つかりません。このシナリオでは、目的地データとともにオフセットを保存し、各実行の開始時に最後のオフセットに戻ることができます。実行に失敗すると宛先オフセットが更新されないため、メッセージは失われません。

保存期間より長い場合は、宛先の最後のオフセットが既にクラスタから消失している可能性があるため、2番目のルートに移動する場合は、auto.offset.resetの設定と動作に注意してください。

関連する問題