1

ローカルから HDFS にファイルを転送するために Apache Flume をテストしました。しかし、ソース ファイルが複数のサーバーから (異なるサーバーのローカルから HDFS にファイルを転送する) 場合、Flume インスタンスを 1 つだけ実行して、flume-conf.properties にエージェントを追加することはできますか?

可能であれば、flume-conf.properties で次のパラメータを編集するにはどうすればよいですか?

agent1.sources.spooldirSource1.spoolDir = ?(server1/path)
agent2.sources.spooldirSource2.spoolDir = ?(server2/path)

また、flume を実行するにはどうすればよいですか?

./flume-ng agent -n agent -c conf -f apache-flume-1.4.0-bin/conf/flume-conf.properties

1 つのフルームしか実行できません。2つ以上はどうですか?

4

2 に答える 2

3

必要なものに複数のソースを追加しますが、それらを同じチャネルを使用するように構成します。これにより、同じソースが使用されます。つまり、次のようになります (このスニペットは不完全であることに注意してください)。

agent1.sources.spooldirSource1.spooldir = server1/path
agent1.sources.spooldirSource1.channel = myMemoryChannel
agent1.sources.spooldirSource2.spooldir = server2/path
agent1.sources.spooldirSource2.channel = myMemoryChannel
于 2013-10-09T15:46:09.010 に答える
0

2 つのソースに同じチャネルを使用するのは良い方法ではありません。この場合、チャネル (MemoryChannel) の outOfMemory を簡単に取得できます。すべてのソース (同じエージェント) に対してチャネルを使用することをお勧めします

a1.sources = r1 r2
a1.sinks = k1 k2
a1.channels = c1 c2

次に、ソース r1 をチャネル c1 にリンクし、ソース r2 をチャネル c2 にリンクします。

于 2018-07-02T14:25:05.623 に答える