1. 程式人生 > >【圖文詳細 】Flume 資料採集元件——概述

【圖文詳細 】Flume 資料採集元件——概述

3、Flume 概述

3.1、Flume 概念 
Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.

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


1、 Apache Flume 是一個分散式、可靠、和高可用的海量日誌採集、聚合和傳輸的系統,和 Sqoop 同屬於資料採集系統元件,但是 Sqoop 用來採集關係型資料庫資料,而 Flume 用 來採集流動型資料。 
 
2、 Flume 名字來源於原始的近乎實時的日誌資料採集工具,現在被廣泛用於任何流事件數 據的採集,它支援從很多資料來源聚合資料到 HDFS。 
 
3、 一般的採集需求,通過對 flume 的簡單配置即可實現。Flume 針對特殊場景也具備良好 的自定義擴充套件能力,因此,flume 可以適用於大部分的日常資料採集場景 
 
4、 Flume 最初由 Cloudera 開發,在 2011 年貢獻給了 Apache 基金會,2012 年變成了 Apache 的頂級專案。Flume OG(Original Generation)是 Flume 最初版本,後升級換代成 Flume NG(Next/New Generation) 
 
5、 Flume 的優勢:可橫向擴充套件、延展性、可靠性 

3.2、Flume 版本介紹 
Flume 在 0.9.x and 1.x 之間有較大的架構調整:

1.x 版本之後的改稱 Flume NG

0.9.x 版本稱為 Flume OG,最後一個版本是 0.94,之後是由 Apache 進行了重構 N 和 O 的意思就是 new 和 old 的意思! 

官網文件:http://flume.apache.org/FlumeUserGuide.html 

3.3、Flume 資料來源和輸出方式 
Flume 提供了從 console(控制檯)、RPC(Thrift-RPC)、text(檔案)、tail(UNIX tail)、syslog(syslog 日 志系統,支援 TCP 和 UDP 等 2 種模式),exec(命令執行)等資料來源上收集資料的能力,在我們 的系統中目前使用 exec 方式進行日誌採集。 
 
Flume 的資料接受方,可以是 console(控制檯)、text(檔案)、dfs(HDFS 檔案)、RPC(Thrift-RPC) 和 syslogTCP(TCP syslog 日誌系統)等。最常用的是 Kafka