2

このリンクのステップ 7 (Kafka Connect を使用してデータをインポート/エクスポートする) に従っていました。

http://kafka.apache.org/documentation.html#quickstart

「test.txt」ファイルを削除するまではうまくいきました。主な理由は、log4j ファイルがそのように機能するためです。一定の時間が経過すると、ファイルはローテーションされます。つまり、名前が変更され、同じ名前の新しいファイルが書き込まれ始めます。

しかし、「test.txt」を削除した後、コネクタが機能しなくなりました。コネクタ、ブローカー、zookeeper などを再起動しましたが、'test.txt' の新しい行が 'connect-test' トピックに移動せず、したがって 'test.sink.txt' ファイルに移動しません。

どうすればこれを修正できますか?

4

1 に答える 1

5

コネクタは「ファイルから最後に読み取った場所」のタブを保持しているため、ファイルの読み取り中にクラッシュした場合でも、中断したところから続行できます。

問題は、オフセットを 0 にリセットせずにファイルを削除したため、最初から特定の文字数で始まる新しいデータが表示されるのを待つため、基本的に新しいデータが表示されないことです...

オフセットをリセットする場合の回避策。スタンドアロン モードで接続を使用している場合、オフセットはデフォルトで /tmp/connect.offsets に保存されます。そこから削除するだけです。

長期的には、より優れたファイル コネクタが必要です :)

于 2016-08-25T04:18:50.280 に答える