上一節搭建了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列表: