A:(master)
a1.sources=s1 s2
a1.channels=c1
a1.sinks=sk1
a1.sources.s1.type=exec
a1.sources.s1.command=tail -F /opt/ABCData/access.log
a1.sources.s1.interceptors = i1
a1.sources.s1.interceptors.i1.type = static
a1.sources.s1.interceptors.i1.key = type
a1.sources.s1.interceptors.i1.value = access
a1.sources.s2.type=exec
a1.sources.s2.command=tail -F /opt/ABCData/nginx.log
a1.sources.s2.interceptors = i2
a1.sources.s2.interceptors.i2.type = static
a1.sources.s2.interceptors.i2.key = type
a1.sources.s2.interceptors.i2.value = nginx
a1.channels.c1.type=memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 1000
a1.channels.c1.keep-alive = 50
a1.sinks.sk1.type=avro
a1.sinks.sk1.hostname = slave1
a1.sinks.sk1.port = 4321
a1.sources.s2.channels=c1
a1.sources.s1.channels=c1
a1.sinks.sk1.channel=c1
向文件中插入数据
while true; do echo "access access..." >> /opt/ABCData/access.log;sleep 0.5;done
while true; do echo "nginx nginx..." >> /opt/ABCData/nginx.log;sleep 0.5;done
B:(slave2)
a1.sources=s1
a1.channels=c1
a1.sinks=sk1
a1.sources.s1.type=exec
a1.sources.s1.command=tail -F /opt/ABCData/web.log
a1.sources.s1.interceptors = i1
a1.sources.s1.interceptors.i1.type = static
a1.sources.s1.interceptors.i1.key = type
a1.sources.s1.interceptors.i1.value = web
a1.channels.c1.type=memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 1000
a1.sinks.sk1.type=avro
a1.sinks.sk1.hostname = slave1
a1.sinks.sk1.port = 4321
a1.sources.s1.channels=c1
a1.sinks.sk1.channel=c1
向文件中插入数据
while true; do echo "web web..." >> /opt/ABCData/web.log;sleep 0.5;done
C:(slave1)
a1.sources = s1
a1.sinks = sk1
a1.channels = c1
a1.sources.s1.type = avro
a1.sources.s1.bind = slave1
a1.sources.s1.port =4321
a1.sources.s1.interceptors = i1
a1.sources.s1.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder
a1.channels.c1.type = memory
a1.channels.c1.capacity = 20000
a1.channels.c1.transactionCapacity = 10000
a1.sinks.sk1.type = hdfs
a1.sinks.sk1.hdfs.path=/user/root/source/logs/%{type}/%Y%m%d
a1.sinks.sk1.hdfs.useLocalTimeStamp = true
a1.sinks.sk1.hdfs.filePrefix =events
a1.sinks.sk1.hdfs.fileType = DataStream
a1.sinks.sk1.hdfs.writeFormat = Text
a1.sinks.sk1.hdfs.rollCount = 0
a1.sinks.sk1.hdfs.rollInterval = 30
a1.sinks.sk1.hdfs.rollSize = 10485760
a1.sinks.sk1.hdfs.batchSize = 10000
a1.sinks.sk1.hdfs.callTimeout=30000
a1.sources.s1.channels = c1
a1.sinks.sk1.channel = c1
运行C,启动之后再运行A和B