假设有两台服务器(A、B )收集实时生产日志,A收集/opt目录下的access.log、nginx.log,B收集/opt目录下的web.log(access.log、nginx.log、web.

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值