1. 程式人生 > >電商之梳理Flume相關知識---資料採集

電商之梳理Flume相關知識---資料採集

flume
Flume是Cloudera提供的一個高可用的,高可靠的,分散式的海量日誌採集、聚合和傳輸的系統,Flume支援在日誌系統中定製各類資料傳送方,用於收集資料;同時,Flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力。
當前Flume有兩個版本Flume 0.9X版本的統稱Flume-og,Flume1.X版本的統稱Flume-ng。由於Flume-ng經過重大重構,與Flume-og有很大不同,使用時請注意區分。
中文名 水槽 外文名 flume 特 點 聚合和傳輸的系統 實 質 孵化專案
目錄
1 系統功能
▪ 日誌收集
▪ 資料處理
2 工作方式
系統功能編輯
日誌收集
Flume最早是Cloudera提供的日誌收集系統,目前是Apache下的一個孵化專案,Flume支援在日誌系統中定製各類資料傳送方,用於收集資料。
資料處理
Flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力 Flume提供了從console(控制檯)、RPC(Thrift-RPC)、text(檔案)、tail(UNIX tail)、syslog(syslog日誌系統,支援TCP和UDP等2種模式),exec(命令執行)等資料來源上收集資料的能力。
工作方式編輯
Flume-og採用了多Master的方式。為了保證配置資料的一致性,Flume引入了ZooKeeper,用於儲存配置資料,ZooKeeper本身可保證配置資料的一致性和高可用,另外,在配置資料發生變化時,ZooKeeper可以通知Flume Master節點。Flume Master間使用gossip協議同步資料。
Flume-ng最明顯的改動就是取消了集中管理配置的 Master 和 Zookeeper,變為一個純粹的傳輸工具。Flume-ng另一個主要的不同點是讀入資料和寫出資料現在由不同的工作執行緒處理(稱為 Runner)。 在 Flume-og 中,讀入執行緒同樣做寫出工作(除了故障重試)。如果寫出慢的話(不是完全失敗),它將阻塞 Flume 接收資料的能力。這種非同步的設計使讀入執行緒可以順暢的工作而無需關注下游的任何問題。