FLUME日誌收集

2021-06-22 10:26:35 字數 2055 閱讀 1293

flume是乙個分布式、可靠、和高可用的海量日誌聚合的系統,支援在系統中定製各類資料傳送方,用於收集資料;同時,flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力。

(1) 可靠性

當節點出現故障時,日誌能夠被傳送到其他節點上而不會丟失。flume提供了三種級別的可靠性保障,從強到弱依次分別為:end-to-end(收到資料agent首先將event寫到磁碟上,當資料傳送成功後,再刪除;如果資料傳送失敗,可以重新傳送。),store on failure(這也是scribe採用的策略,當資料接收方crash時,將資料寫到本地,待恢復後,繼續傳送),best effort(資料傳送到接收方後,不會進行確認)。

(2) 可擴充套件性

flume採用了三層架構,分別為agent,collector和storage,每一層均可以水平擴充套件。其中,所有agent和collector由master統一管理,這使得系統容易監控和維護,且master允許有多個(使用zookeeper進行管理和負載均衡),這就避免了單點故障問題。

(3) 可管理性

所有agent和colletor由master統一管理

,這使得系統便於維護。多master情況,flume利用zookeeper和gossip,保證動態配置資料的一致性。使用者可以在master上檢視各個資料來源或者資料流執**況,且可以對各個資料來源配置和動態載入。flume提供了web 和shell script command兩種形式對資料流進行管理。

(4) 功能可擴充套件性

使用者可以根據需要新增自己的agent,collector或者storage。此外,flume自帶了很多元件,包括各種agent(file, syslog等),collector和storage(file,hdfs等)。

flume的邏輯架構:

正如前面提到的,flume採用了分層架構:分別為agent,collector和storage。其中,agent和collector均由兩部分組成:source和sink,source是資料**,sink是資料去向

flume使用兩個元件:master和node,node根據在master shell或web中動態配置,決定其是作為agent還是collector。

agent的作用是將資料來源的資料傳送給collector。

flume自帶了很多直接可用的資料來源(source),如:

更多可參見這位朋友的整理:

同時提供了很多sink,如:

更多可參見這位朋友的整理:

collector的作用是將多個agent的資料彙總後,載入到storage中。

它的source和sink與agent類似。

資料來源(source),如:

sink,如:

storage是儲存系統,可以是乙個普通file,也可以是hdfs,hive,hbase,分布式儲存等。

master是管理協調agent和collector的配置等資訊,是flume集群的控制器。

在flume中,最重要的抽象是data flow(資料流),data flow描述了資料從產生,傳輸、處理並最終寫入目標的一條路徑。

對於agent資料流配置就是從哪得到資料,把資料傳送到哪個collector。

對於collector是接收agent發過來的資料,把資料傳送到指定的目標機器上。

注:flume框架對hadoop和zookeeper的依賴只是在jar包上,並不要求flume啟動時必須將hadoop和zookeeper服務也啟動。

日誌收集 Flume

乙個flume程序就是乙個agent source channel sink 在source channel sink之間流動的是list exent event header byte payload,一般header是空的,傳輸資料的單位 flume串聯的壞處 乙個壞了全壞 好處 多級緩衝 處理...

flume (日誌收集系統)

flume 日誌收集系統 flume是cloudera提供的乙個高可用的,高可靠的,分布式的海量日誌採集 聚合和傳輸的系統,flume支援在日誌系統中定製各類資料傳送方,用於收集資料 同時,flume提供對資料進行簡單處理,並寫到各種資料接受方 可定製 的能力。當前flume有兩個版本flume 0...

flume(日誌收集系統)

flume 日誌收集系統 flume是cloudera提供的乙個高可用的,高可靠的,分布式的海量日誌採集 聚合和傳輸的系統,flume支援在日誌系統中定製各類資料傳送方,用於收集資料 同時,flume提供對資料進行簡單處理,並寫到各種資料接受方 可定製 的能力。當前flume有兩個版本flume 0...