天天看點

資料庫必知詞彙:Flume

Flume是Cloudera提供的一個高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸的系統。Flume具有簡單靈活的基于流資料流的體系結構。它具有魯棒性和容錯性,具有可調的可靠性機制和許多故障轉移和恢複機制。Flume使用一個簡單的可擴充資料模型,允許線上分析應用程式。Flume支援在日志系統中定制各類資料發送方,用于收集資料;同時,Flume提供對資料進行簡單處理,并寫到各種資料接受方(可定制)的能力。

目前Flume有兩個版本Flume 0.9X版本的統稱Flume-og,Flume1.X版本的統稱Flume-ng。由于Flume-ng經過重大重構,與Flume-og有很大不同,使用時請注意區分。

Flume-og采用了多Master的方式。為了保證配置資料的一緻性,Flume引入了ZooKeeper,用于儲存配置資料,ZooKeeper本身可保證配置資料的一緻性和高可用,另外,在配置資料發生變化時,ZooKeeper可以通知Flume Master節點。Flume Master間使用gossip協定同步資料。

Flume-ng最明顯的改動就是取消了集中管理配置的 Master 和 Zookeeper,變為一個純粹的傳輸工具。Flume-ng另一個主要的不同點是讀入資料和寫出資料由不同的工作線程處理(稱為 Runner)。 在 Flume-og 中,讀入線程同樣做寫出工作(除了故障重試)。如果寫出慢的話(不是完全失敗),它将阻塞 Flume 接收資料的能力。這種異步的設計使讀入線程可以順暢的工作而無需關注下遊的任何問題。

資料來源:

Apache Flume官網

http://flume.apache.org/

Flume OG和Flume NG的差別

https://www.itdaan.com/blog/2017/11/23/8e4dcc17a72e3ffe2a4330cf04e191c9.html