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