使用flume替代原有的scribe服务

以前很多业务都是用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的新书上市。


分享标题:使用flume替代原有的scribe服务
文章出自:http://hbruida.cn/article/jjghpg.html