0

Flume を学習しています。システムからログ ファイルを読み取ろうとしているときに、インターネットからダウンロードした次のコードを使用しました。

agent.sources = tailSrc
agent.channels = memoryChannel
agent.sinks = hdfsSink
agent.sources.tailSrc.type = exec
agent.sources.tailSrc.command = tail -f /home/kumar/hadoop-2.5.1/logs/hadoop-kumar-namenode-admin.log
agent.sources.tailSrc.channels = memoryChannel
agent.sinks.hdfsSink.type = hdfs
agent.sinks.hdfsSink.hdfs.path = hdfs://localhost:50000/flume
agent.sinks.hdfsSink.channel = memoryChannel
agent.channels.memoryChannel.type = memory
agent.channels.memoryChannel.capacity = 100

上記のコードでは、tailSrc.commands の意味がわかりません。ソースがエージェント内で構成され、外部ソースからイベント (データ) を取得することはわかっています。

4

1 に答える 1

0

あなたのコードでは、agent.sources.tailSrc.command は exec-source.just リンクを参照してください。

https://flume.apache.org/FlumeUserGuide.html#exec-source

tail は UNIX コマンドです。デフォルトでは、tail は入力の最後の 10 行を出力します。tail.simple の代わりに任意のコマンドまたはループを指定できます。これらのコマンドは実行され、出力をソースとして Flume エージェントに提供します。

http://en.wikipedia.org/wiki/Tail_%28Unix%29

于 2015-03-23T11:08:33.413 に答える