Flueme學習之路(一)Flume的基礎介紹

背景

Hadoop業務的總體開發流程:node

image-20190820200647052

​ 從Hadoop的業務開發流程中能夠看出,在大數據的業務處理流程中,對於數據的採集是十分重要的一步,也是不可避免的一步。apache

​ 許多公司的平臺天天會產生大量的日誌(通常爲流式數據,如搜索引擎的pv,查詢等),處理這些日誌須要特定的日誌系統。通常而言,這些系統須要具備以下的特徵:數組

  1. 構建應用系統的和分析系統的橋樑,並將它們之間的關係解耦;
  2. 支持近實時的在線分析系統和相似於Hadoop的離線分析系統;
  3. 具備高可擴展性。即當數據量增長時,能夠經過增長節點進行水平擴展。

開源的日誌系統,包括facebook的scribe,apache的chukwa,linkedin的kafka和cloudera的flume等。bash

Flume的特色

2.1Flume特色

flume是一個分佈式、可靠、和高可用的海量日誌採集、聚合和傳輸的系統。支持在日誌系統中定製各種數據發送方,用於收集數據;同時,Flume提供對數據進行簡單處理、並寫入到各類數據接收方(好比文本、HDFS、Hbase等)的能力。服務器

flume的數據流由事件(Event)貫穿始終。事件是Flume的基本數據單位,它攜帶日誌數據(字節數組形式)而且攜帶有頭信息。這些Event由Agent外部的Source生成。當Source捕獲事件後會進行特定的格式化,而後source會把事件推入(單個活多個)Channel中。能夠把Channel看做是一個緩衝區,它將保存事件直到slink處理完該事件。Sink負責持久化日誌或者把事件推向另外一個Source.app

  1. Flume的可靠性框架

    當節點出現故障時,日誌可以被傳送到其餘節點上而不會丟失。Flume提供了三種級別的可靠性保障,從強到弱依次分別爲:end-end(收到數據agent首先將event寫到磁盤上,當數據傳送成功後,再刪除;若是數據發送失敗,能夠從新發送),store on failure(這也是scribe採用的策略,當數據接收方crash時,將數據寫到本地,待恢復後,繼續發送),Besteffort(數據發送到接收方後,不會進行確認)。分佈式

  2. Flume的可恢復性工具

    仍是靠Channel。推薦使用FileChannel,事件持久化在本地文件系統裏(性能較差)。oop

2.2 Flume的一些核心

​ Client:clinet生產數據,運行在一個獨立的線程。

​ Event:一個數據單元,消息頭和消息體組成。(Event能夠是日誌記錄,avro對象等。)

​ Flow:Event從源頭到達目的地的遷移的抽象

​ Agent:一個獨立的Flume進程,包含組件Source、Channel、Sink。(Agent使用JVM運行Flume。每臺機器運行一個agent,可是能夠在一個agent中包含多個sources和sinks)

​ Source:數據收集組件。(Source從Client收集數據,傳遞給Channel)

​ sink:從Channel中讀取並移除Event,將Event傳遞到FlowPipeLine中的下一個Agent(若是有的話)(Sink從channel收集數據,運行在一個獨立線程。)

2.3 Flume NG 的體系結構

​ Flume運行的核心是Agent。Flume以Agent爲最小的獨立運行單位。一個Agent就是一個JVM。它是一個完整的數據收集工具,包含三個核心組件,分別是source、channel、sink。經過這些組件,Event能夠從一個地方流向另外一個地方,以下圖所示:

3. Flume的安裝

3.1 Flume的下載

下載地址:

​ http://mirrors.hust.edu.cn.apace

3.2 Flume的安裝

​ Flume框架對hadoop和zookeeper的依賴只是在jar包上,並不要求flume啓動時必須將hadoop和zookeeper服務也啓動。

(1)將安裝包上傳到服務器並解壓

tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /home/app/

(2)修改配置文件

[root@node01 conf]# cp flume-env.sh.template flume-env.sh

image-20190820212543677

(3) 配置環境變量

vi /etc/profile

image-20190820211646743

保存使其生效

source /etc/profile

(4)查看版本信息

flume-ng version

image-20190820211955884

相關文章
相關標籤/搜索