Flume簡介與安裝
阿新 • • 發佈:2019-01-31
一、 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