在Agent中增加一个流
一个Flume Agent中可以包含多个独立的流。你可以在一个配置文件中列出所有的source、sink和channel等组件,这些组件可以被连接成多个流:
- # 这样列出Agent的所有source、sink和channel,多个用空格分隔
- <Agent>.sources = <Source1> <Source2>
- <Agent>.sinks = <Sink1> <Sink2>
- <Agent>.channels = <Channel1> <Channel2>
然后你就可以给这些source、sink连接到对应的channel上来定义两个不同的流。例如,如果你想在一个Agent中配置两个流,一个流从外部avro客户端接收数据然后输出到外部的HDFS,另一个流从一个文件读取内容然后输出到Avro Sink。配置如下:
- # 列出当前配置所有的source、sink和channel
- agent_foo.sources = avro-AppSrv-source1 exec-tail-source2 # 该agent中有2个sourse,分别是:avro-AppSrv-source1 和 exec-tail-source2
- agent_foo.sinks = hdfs-Cluster1-sink1 avro-forward-sink2 # 该agent中有2个sink,分别是:hdfs-Cluster1-sink1 和 avro-forward-sink2
- agent_foo.channels = mem-channel-1 file-channel-2 # 该agent中有2个channel,分别是:mem-channel-1 file-channel-2
- # 这里是第一个流的配置
- agent_foo.sources.avro-AppSrv-source1.channels = mem-channel-1 # 与avro-AppSrv-source1相连接的channel是mem-channel-1
- agent_foo.sinks.hdfs-Cluster1-sink1.channel = mem-channel-1 # 与hdfs-Cluster1-sink1相连接的channel是mem-channel-1
- # 这里是第二个流的配置
- agent_foo.sources.exec-tail-source2.channels = file-channel-2 # 与exec-tail-source2相连接的channel是file-channel-2
- agent_foo.sinks.avro-forward-sink2.channel = file-channel-2 # 与avro-forward-sink2相连接的channel是file-channel-2
当前内容版权归 liyifeng 译 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 liyifeng 译 .