私はFlumeにとって非常に新しいユーザーです。私を絶対的なnoobとして扱ってください。特定のユースケースに対してFlumeを設定する際のマイナーな問題があり、助けてくれると期待していました。私はHDFSを使用していないことに注意してください。なぜなら、この質問はあなたがフォーラムで見たかもしれない他の質問とは異なるからです。Apache Flume - 新しいファイルの内容のみを送信する
Oracle Virtual Boxの内部ネットワークを介して2台の仮想マシン(VM)を相互に接続しています。私の目標は、1つのVMに1つのファイルしか持たない特定のディレクトリを監視させることです。ファイルが変更されたら、私はFlumeが新しい行/データだけを送ることを望みます。私は、他のVMがこのデータを受信し、その上の特定のディレクトリにある単一のファイルにデータを更新/連結したいとします。
これまでのところ、私はこのプロセスを非常に作業に近づけています。 VM1で変更が行われるたびに、VM2で更新されます。ただし、VM1のファイル全体は、新しい行ではなく毎回VM2に送信されます。たとえば、私は「Test1を」を書いた後、しばらくは後で下VM1上のファイルに「Test2を」を書いた場合、VM2に出力は次のようになります。
Test1を
Test1を
Test2を
に Test1
Test2
私はこれを実装する方法を確認していない、と徹底的に水路のユーザーガイドdocumentatioを調べた後、このメールを送信しています:私は何を見てみたいことはあり
nとstackoverflow/stackexchangeに関する最も関連性の高い記事あなたの参照のために、以下は現在の構成です(上記の方法で動作しています)。
私が検出され、別の解決策は、VM1の設定を維持し、VM2毎回新しい内容のファイルを上書きするだろう実現。しかし、私はこれを実装する方法も不明です。
ご協力いただければ幸いです。
私のコードでコメントのいくつかを無視して、私は物事を試していた。そこにあったことを忘れてしまった: –
私は今考えている、私はまた、最終的なディレクトリに定期的にファイルを削除することによってこの問題を解決することができます。 –
別の解決策として、スプーリングディレクトリソースとfile_rollシンクを持つエージェントに宛先ディレクトリを添付し、file_rollの宛先を同じディレクトリにすることを考えています。このようにして、私は本質的にリフレッシュ操作をしています。スプーリングディレクトリのソースは、ファイルをチャネルに読み込んだ後で削除できるためです。 –