使用flume替代原有的scribe服务

本文详细介绍了如何将使用Scribe进行日志收集的配置迁移到Flume,包括配置调整、理解Flume特性以及迁移过程中的注意事项。重点强调了Flume在机器上编译成本较低、官方支持稳定的优势,以及Flume 1.6新特性对Kafka的支持和数据内容正则过滤的实用性。

以前很多业务都是用scribe做日志收集的支撑的,后来fb停止了对scribe的开发支持。而且scribe在机器上编译一次的代价太大了,各种坑,正好后来flume从1.3.0开始加入了对scribe的支持。就可以把原来scribe上面接入的数据转用flume收集了。虽然我很喜欢scribe,但是失去了官方支持毕竟还是很闹心的。

agent.channels=c1
agent.channels.c1.capacity=20000
agent.channels.c1.transactionCapacity=10000
agent.channels.c1.type=memory
agent.sinks=k1
agent.sinks.k1.channel=c1
agent.sinks.k1.hdfs.batchSize=8000
agent.sinks.k1.hdfs.filePrefix=log
agent.sinks.k1.hdfs.fileType=DataStream
agent.sinks.k1.hdfs.path=hdfs://NNHA/data/flume/%{category}/%Y%m%d
agent.sinks.k1.hdfs.rollCount=0
agent.sinks.k1.hdfs.rollInterval=86400
agent.sinks.k1.hdfs.round=true
agent.sinks.k1.hdfs.roundUnit=minute
agent.sinks.k1.hdfs.roundValue=1
agent.sinks.k1.hdfs.serializer.appendNewline=false
agent.sinks.k1.hdfs.useLocalTimeStamp=true
agent.sinks.k1.hdfs.writeFormat=TEXT
agent.sinks.k1.type=hdfs
agent.sources=r1
agent.sources.r1.channels=c1
agent.sources.r1.host=0.0.0.0
agent.sources.r1.port=1463
agent.sources.r1.type=org.apache.flume.source.scribe.ScribeSource
agent.sources.r1.workerThreads=5

主要是serializer.appendNewline设置为false,否则会每条自动添加一个回车上去,其他也没什么太多好解释的,用过flume的自然秒懂,hdfs.path里面,%{category}就是意味着原来scribe里面的category。


flume 1.6的新特性里面是加入了对kafka的source和sink的支持,以及对数据内容的正则过滤传递,这点很有用,貌似下个月或者下下个月会有本关于flume的新书上市。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值