介绍整合flume和kafka的文章很多。
最近正好学习并动手实践了一回,记下自己的一些心得。
Flume简介
flume是 Cloudera 开发的实时日志收集系统。
她包含三个重要组件,就是source(采集读入数据), sink(输出数据)和channel(source和sink之间的buffer)。
值得一提的是, flume支持一个source采集数据,并通过多个channel发送至多个sink,配置样例见下文链接。
个人感觉开发者是希望分布式的实时日志采集变得更加简单,用户只需通过配置甚至不需要开发代码,就可以实现日志采集。
同时,还有很重要的一点,Flume比较适合分布式扩展,这对成长迅速的大型分布式系统比较有利。
大家可以参考如下一片文章进一步学习Flume: Flume NG 简介及配置实战
整合Flume和Kafka:
总的来说需要如下几步:
1> 安装好Flume
2> 下载第三方的或自己写flume kafka sink, 编译成jar包,放入flume/lib/目录下
3> 配置Flume安装目录下的conf / XXX.properties (就是定义自己的flume source, channel 和 sink),注意 sink的类型就是<2>中自己定义的sink类全名(package.class)
4> 下载kafka安装包,将 kafka/lib/下的所有jar包都copy至 flume/lib/目录下
5> 启动flume, 验证是否成功 (可能碰到的问题包括scala版本问题,kafka jar包的版本问题和sfj多版本冲突等)
本周内会继续将如上内容补充完整,争取能给刚上手的同学更多帮助。
IT人的微信自媒体--- 杰天空, 走在寻找创意的路上
发掘创意,点缀生活,品味人生。
请搜索微信订阅号: jksy_studio ,或者微信扫描下图二维码添加关注
杰天空静候您的光临。