Flume自探(一)—Flume概述及入門

Flume自探

自己的話:每天都要保持前進
多認識更加優秀的人,你會討厭現在的自己。

Flume概述及入門


一、概述

1.1 Flume 定義

Flume 是 Cloudera 提供的一個高可用的,高可靠的,分佈式的海量日誌採集、聚合和傳輸的系統。Flume 基於流式架構,靈活簡單。
在這裏插入圖片描述

1.2 Flume 組成架構

在這裏插入圖片描述
在這裏插入圖片描述
下面我們來詳細介紹一下Flume 架構中的組件:

1.2.1 Agent

Agent 是一個 JVM 進程,它以事件的形式將數據從源頭送至目的,是 Flume 數據傳輸的基本單元。
Agent 主要有 3 個部分組成,Source、Channel、Sink。

1.2.2 Source

Source 是負責接收數據到Flume Agent 的組件。Source 組件可以處理各種類型、各種格式的日誌數據,包括 avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy。

1.2.3 Channel

Channel 是位於 Source 和 Sink 之間的緩衝區。因此,Channel 允許 Source 和 Sink 運作在不同的速率上。Channel 是線程安全的,可以同時處理幾個 Source 的寫入操作和幾個 Sink 的讀取操作。

Flume 自帶兩種 Channel:Memory Channel 和 File Channel。

Memory Channel 是內存中的隊列。Memory Channel 在不需要關心數據丟失的情景下適用。如果需要關心數據丟失,那麼 Memory Channel 就不應該使用,因爲程序死亡、機器宕機或者重啓都會導致數據丟失。

File Channel 將所有事件寫到磁盤。因此在程序關閉或機器宕機的情況下不會丟失數據。

1.2.4 Sink

Sink 不斷地輪詢 Channel 中的事件且批量地移除它們,並將這些事件批量寫入到存儲或索引系統、或者被髮送到另一個 Flume Agent。
Sink 是完全事務性的。在從 Channel 批量刪除數據之前,每個 Sink 用 Channel 啓動一個事務。批量事件一旦成功寫出到存儲系統或下一個 Flume Agent,Sink 就利用Channel 提交事務。事務一旦被提交,該 Channel 從自己的內部緩衝區刪除事件。

Sink 組件目的地包括 hdfs、logger、avro、thrift、ipc、file、null、HBase、solr、自定義。

1.2.5 Event

傳輸單元,Flume 數據傳輸的基本單元,以事件的形式將數據從源頭送至目的地。

1.3 Flume 拓撲結構

Flume Agent 連接:
在這裏插入圖片描述
單 source,多 channel、sink:
在這裏插入圖片描述
Flume 負載均衡:
在這裏插入圖片描述
Flume Agent 聚合:

在這裏插入圖片描述

1.4 Flume Agent 內部原理

在這裏插入圖片描述


二、快速入門

2.1 Flume 安裝地址

2.1.1 Flume 官網地址

http://flume.apache.org

2.1.2 文檔查看地址

http://flume.apache.org/FlumeUserGuide.html

2.1.3 下載地址

http://archive.apache.org/dist/flume/

在這裏插入圖片描述

2.2 安裝部署

(1)將 apache-flume-1.7.0-bin.tar.gz 上傳到 linux 的/opt/software 目錄下

(2)解壓 apache-flume-1.7.0-bin.tar.gz 到/opt/module/目錄下

[hadoop1 software]$ tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /opt/module/

(3)修改 apache-flume-1.7.0-bin 的名稱爲 flume

[hadoop1 module]$ mv apache-flume-1.7.0-bin flume

(4)將 flume/conf 下的 flume-env.sh.template 文件修改爲 flume-env.sh ,並配置 flume-env.sh 文件

[hadoop1 conf]$ mv flume-env.sh.template flume-env.sh 
[hadoop1 conf]$ vi flume-env.sh
export JAVA_HOME=/home/xxx/jdk1.8.0_144
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章