同一时刻,source只能传输给一个channel
source是通过event header来决定传输到哪一个channel
source 本地
channel c1 localfile c2 mem
sink k1 logger k2本地目录
如果文件名1_txt 传输到logger 如果是2_txt 传输到本地
a1.sources = s1
a1.channels = c1 c2
a1.sinks = k1 k2
a1.sources.s1.type = spooldir
a1.sources.s1.channels = c1 c2
a1.sources.s1.spoolDir = /home/wangfutai/a/flume/logs
a1.sources.s1.basenameHeader = true
a1.sources.s1.basenameHeaderKey = myselect
#添加选择器 多路复用
a1.sources.s1.selector.type= multiplexing
#复用规则 selector.header 头名称 mapping.变量名
#mapping后的变量名 就是 每个event 中header 值
# basename=2_txt
a1.sources.s1.selector.header = myselect
a1.sources.s1.selector.mapping.1_txt= c1
a1.sources.s1.selector.mapping.2_txt= c2
a1.sources.s1.selector.default= c1 c2
#配置c1 内存
a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000
a1.channels.c1.transactionCapacity = 10000
a1.channels.c1.byteCapacityBufferPercentage = 20
a1.channels.c1.byteCapacity = 800000
#配置c2 本地磁盘
a1.channels.c2.type = file
a1.channels.c2.checkpointDir = /home/wangfutai/a/flume/checkpoint
a1.channels.c2.dataDirs = /home/wangfutai/a/flume/data
a1.sinks.k1.type = file_roll
a1.sinks.k1.channel = c1
a1.sinks.k1.sink.directory = /home/wangfutai/a/flume/netlogs
#本地回滚时间,每隔60s自动生成一个新的文本.
a1.sinks.k1.sink.rollInterval = 60
a1.sinks.k1.sink.pathManager.prefix = network
#配置 sinks
a1.sinks.k2.type = logger
#注意:一个sinks只能设置一个channel
a1.sinks.k2.channel = c2