基本的なフルーム機能のテストとして、ファイルを source/sink にセットアップしました。
現在、「exec」ソースを使用しており、コマンドは「tail -F mytmpfile」です。
私のスクリプトでは、継続的に "....." >> mytmpfile をエコーして、 tail コマンドがストリームを構成するようにします。
ただし、flume ログに次の例外が表示されるようになりました。
java.lang. IllegalStateException: チャネルが閉じられました [channel=c1]。java.lang.NullPointerException: null at org.apache.flume.channel.file.FileChannel.createTransaction(FileChannel.java:353) at org.apache.flume.channel.BasicChannelSemantics.getTransaction(BasicChannelSemantics.java:122) によるorg.apache.flume.sink.RollingFileSink.process(RollingFileSink.java:183) org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68) org.apache.flume.SinkRunner$PollingRunner.run( SinkRunner.java:147) で java.lang.Thread.run(Thread.java:662) 原因: java.lang.NullPointerException at org.apache.flume.channel.file.Log.writeCheckpoint(Log.java:895) org.apache.flume.channel.file.Log.replay(Log.java:406) で org.apache.flume.channel.file.FileChannel.start(FileChannel.java:
この NullPointerException がどこから来ているかについて何か考えはありますか? コードをスキャンすると、見つからないフォルダーまたはディレクトリに関連している可能性があります。しかし、git ハブ ブランチで正確な行が見つかりません。
これは apache-flume-1.3.1.23-... を使用しています