1. 程式人生 > >Flume簡介與安裝

Flume簡介與安裝

一、 Flume 簡介
1 Flume 提供一個分散式的,可靠的,對大資料量的日誌進行高效收集、聚集、移動的服務,Flume 只能在 Unix 環境下執行。

2 Flume 基於流式架構,容錯性強,也很靈活簡單。

3 Flume、 Kafka 用來實時進行資料收集, Spark、 Storm 用來實時處理資料, impala 用來實時查詢。

二、 Flume 角色
這裡寫圖片描述
1、 Source
用於採集資料, Source 是產生資料流的地方,同時 Source 會將產生的資料流傳輸到 Channel,這個有點類似於 Java IO 部分的 Channel。

2、 Channel
用於橋接 Sources 和 Sinks,類似於一個佇列。

3、 Sink
從 Channel收集資料,將資料寫到目標源(可以是下一個 Source,也可以是 HDFS或者 HBase)。

4、 Event
傳輸單元, Flume 資料傳輸的基本單元,以事件的形式將資料從源頭送至目的地。

三、 Flume 傳輸過程
source 監控某個檔案或資料流,資料來源產生新的資料,拿到該資料後,將資料封裝在一個Event 中,並 put 到 channel 後 commit 提交, channel 佇列先進先出, sink 去 channel 佇列中拉取資料,然後寫入到 HDFS 中。

四、 Flume 部署
1、解壓檔案
tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /opt/module/

2、檔案配置
flume-env.sh 涉及修改項:

pwd
/opt/module/apache-flume-1.7.0-bin/conf

mv flume-env.sh.template flume-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_151