Flume 1.7 源码分析(一)源码编译
Flume 1.7 源码分析(二)整体架构
Flume 1.7 源码分析(三)程序入口
Flume 1.7 源码分析(四)从Source写数据到Channel
3 整体架构
Flume有三大组件:Source、Channel、Sink。
- Source就是数据来源,例如Web Server产生日志后,可使用ExecSource执行tail -F命令后不断监听日志文件新生成的数据,然后传给Channel。
- Channel就是一个缓存队列,由于读取数据和写入数据的速度可能不匹配,假如用同步完成的方式可能效率低下,所以Source把数据写到Channel这个队列里面,Sink再用另外的线程去读取。
- Sink就是最终的存储,例如可以是HDFS或LOG文件输出等,Sink负责去Channel里面读取数据,并存储。

Flume的三大组件包括Source、Channel和Sink。Source作为数据来源,如Web Server日志,通过ExecSource监听并传递给Channel。Channel作为缓存队列,保证Source和Sink的读写速度匹配。Sink负责从Channel读取数据并存储到目标如HDFS或日志文件。启动时,SourceRunner和SinkRunner负责各自组件的运行,SourceRunner启动Source的监听和发送数据,SinkRunner循环调用Sink进行数据存储。
最低0.47元/天 解锁文章
1796





