上一节搭建了flume的简单运行环境,并提供了一个基于netcat的演示。这一节继续对flume的整个流程进行进一步的说明。数据库
下面这个图基本说明了flume的做用,以及flume中的基本组件:source、channel、sink。缓存
Source:完成对日志数据的收集,分红transtion 和 event 打入到channel之中。
Channel:主要提供一个队列的功能,对source提供中的数据进行简单的缓存。
Sink:取出Channel中的数据,进行相应的存储文件系统,数据库,或者提交到远程服务器。服务器
简要说明:架构
一、Avro Source:支持Avro协议(其实是Avro RPC),内置支持测试
二、Thrift Source:支持Thrift协议,内置支持3d
三、Exec Source | 基于Unix的command在标准输出上生产数据日志
四、JMS Source:从JMS系统(消息、主题)中读取数据,ActiveMQ已经测试过blog
五、Spooling Directory Source:监控指定目录内数据变动队列
六、Twitter 1% firehose Source:经过API持续下载Twitter数据,试验性质get
七、Netcat Source:监控某个端口,将流经端口的每个文本行数据做为Event输入
八、Sequence Generator Source:序列生成器数据源,生产序列数据
九、Syslog Sources:读取syslog数据,产生Event,支持UDP和TCP两种协议
十、HTTP Source:基于HTTP POST或GET方式的数据源,支持JSON、BLOB表示形式
十一、Legacy Sources:兼容老的Flume OG中Source(0.9.x版本)
6、interceptor列表: