1.flume簡介

1.flume簡介

來自專欄 大象跳舞

版權申明:轉載請註明出處。

文章來源:大數據隨筆

1.簡介

flume是一個分散式、高可用的系統,它用來收集,合併,移動不同來源的大量數據到一個指定的存儲。它不僅限於處理文本類的日誌數據,還能處理社交媒體數據,二進位數據以及郵件信息等幾乎所有的數據格式。

2.架構

(1)flume source消費來自於外部傳遞給它的event,外部的來源常見的有web server產生的log日誌,或者avro,thrift等rpc系統產生的event。當source收到一個event的時候會存入一個或者多個channnel,channel被動的存儲數據直到它被sink消耗。

(2)flume允許用戶構建一個多節點的流,這樣數據在到達最終目的地之前會經過多個agent處理,即sink產出的數據可以被另外一個agent的source接收,所以多個agent可以形成一個拓撲結構。

(3)同一個agent中source,channel,sink是非同步執行的。

3.可靠性

在每個agent中,event階段性的存儲在channel中,當event成功的存入了下個agent的channel或者到達最終的存儲channel中的event才會刪除。

flume採用事務的方式可靠的傳輸event,source和sink分別封裝了event的存儲/還原到channel提供的事務中。這能確保一組event可靠的通過點對點傳輸。在多節點流中,前一個節點的sink和後一個節點的source之間通過事務保證數據的正常傳輸。

4.可恢復性

channel在一定程度上支持故障恢復,當使用本地的file作為channel時,因為是持久化存儲,它可以恢復。但是當使用memory作為channel時當agent的進程掛掉後存在於channel中的event就無法恢復。

推薦閱讀:

談一本書《Spark快速大數據分析》
上海雲棲大會,阿里雲都重磅發布了啥?重要消息一文薈萃!
大數據雙創行動丨校園裡誕生的大數據創客
打造創新的雲生態人才培養基地--阿里雲大學互聯網學院重磅上線
今日數據行業日報(2017.02.24)

TAG:大數據分析 | 大數據 |