中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

flume的使用方法是什么

發布時間:2021-12-23 16:18:08 來源:億速云 閱讀:295 作者:iii 欄目:大數據

這篇文章主要介紹“flume的使用方法是什么”,在日常操作中,相信很多人在flume的使用方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”flume的使用方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1. flume的基礎介紹

(1)常用的數據收集工具

  - Chukwa(Apache)
  - Scribe(Facebook)
  - Fluentd:Fluentd 使用 C/Ruby 開發,使用 JSON 文件來統一日 志數據。
  -  Logstash(著名的開源數據棧 ELK(ElasticSearch,Logstash,Kibana)中的那個 L)
  - Flume(Apache):開源,高可靠,高擴展,容易管理,支持客戶擴展的數據采集系統。

(2)為什么要使用數據收集工具?

首先看一下hadoop業務的整體開發流程:
flume的使用方法是什么
數據采集---數據清洗etl(數據抽取,轉換,裝載)---數據存儲---數據計算分析---數據展現
其中數據采集是所有數據系統必不可少的,沒有數據一切都是空談。
那數據采集系統的特征又是什么呢?
  -   構建應用系統和分析系統的橋梁,并將他們之間進行解耦(web---hadoop)     支持實時的在線分析系統和類似于hadoop之類的離線分析系統
  -   具有高可擴展性,即:當數據增加時,可以通過增加節點進行水平擴展。

(3)為什么要使用flume?

  -  Apache Flume是一個分布式、可靠、和高可用的海量日志采集、聚合和傳輸的系統。和sqooq同屬于數據采集系統組件,但是sqoop用來采集關系型數據庫數據。而flume用來采集流動性數據。
  -  Flume 名字來源于原始的近乎實時的日志數據采集工具,現在被廣泛用于任何流事件數 據的采集,它支持從很多數據源聚合數據到 HDFS。
  -  一般的采集需求,通過對 flume 的簡單配置即可實現。Flume 針對特殊場景也具備良好 的自定義擴展能力,因此,flume 可以適用于大部分的日常數據采集場景
  -  Flume 的優勢:可橫向擴展、延展性、可靠性

(4)flume的新老架構介紹

接下來以一個很簡單的場景為例,將weserver的日志收集到hdfs中。
NG架構
flume的使用方法是什么
應用系統(web server)---flume的日志收集(source、channel、sink)----hdfs(數據存儲)
其中:
  source:數據源(讀原始日志文件進行讀取)
  channel:數據通道(緩沖,緩解讀寫數據速度不一致問題)
  sink:數據的目的地(收集到的數據寫出到最終的目的地)
OG架構:(0.9以前)
flume的使用方法是什么
代理節點(agent) -----  收集節點(collector)-----(master)主節點
 Agent從各個數據源收集日志數據,將收集到的數據集中到collector,然后由收集節點匯總存入hdfs。Master負責管理agent和collector的活動。

2. flume體系結構和核心組件

(1)flume體系結構

flume的使用方法是什么
 Flume的數據由事件(event)貫穿始終,事件是flume的基本數據單位,它攜帶日志數據(字節數組形式),并且攜帶有頭信息,這些event由agent外部的source生成,當source捕獲的事件后會進行特定的格式化,然后source會把事件推入(單個或多個)channel中。可以把 Channel 看作是一個緩沖區,它將保存事件直到 Sink 處理完該事件。Sink 負責持久化日志或 者把事件推向另一個 Source。
 Flume以agent為最小的獨立運行單位,一個agent就是一個jvm,單個agent由source、sink和channel三大組件構成。
flume的使用方法是什么

(2)flume四大核心組件

Event
 Event是flume數據傳輸的基本單位。Flume以事件的形式將數據從源頭,傳送到最終的目的地。Event由可選的header和載有數據的一個byte array構成。Header 是容納了 key-value 字符串對的無序集合,key 在集合內是唯一的。
agent
 agent 是 flume 流的基礎部分,一個 Agent 包含 source,channel,sink 和其他組件;利用這些組件將 events 從一個節點傳輸到另一個節點或最終目的地。
Source
 Source負責接收event或者通過特殊機制產生event,并將events批量的放到一個或者多個channel中。
channel
 Channel 位于 Source 和 Sink 之間,用于緩存進來的 event。當sink成功的將event發送到下一個的channel或者最終目的,event從channel刪除。
Sink
 Sink負責將event傳輸到下一個或者最終目的地,成功后將event從channel移除。

3. flume的搭建

 flume的搭建極為簡單,基本上就是解壓即可,但是由于我們經常將flume和大數據平臺聯系,所以需要我們將hadoop和jdk的環境搭建成功。
安裝
 - 上傳安裝包
 - 解壓安裝包
 - 配置環境變量
 - 修改配置文件:

[hadoop @hadoop01 ~]cd /application/flume/conf
[hadoop @hadoop01 ~]mv flume-env.sh.template flume-env.sh
[hadoop @hadoop01 ~]vim flume-env.sh
export JAVA_HOME=/application/jdk1.8    (修改這一個就行)

 -測試是否安裝成功
[hadoop @hadoop01 ~]flume-ng version
flume的使用方法是什么
看見以上的結果表示安裝成功!!!!
注意:一般的需要在哪臺機器中采集數據,就在哪臺機器中安裝flume

4. flume的初使用

 flume的一切操作都是基于配置文件,所以,必須寫配置文件。(必須是以.conf或者.properties結尾)。

這里我們以一個非常簡單的案例,介紹flume如何使用:
flume的使用方法是什么
配置文件

#example.conf
#這里的a1指的是agent的名字,可以自定義,但注意:同一個節點下的agent的名字不能相同
#定義的是sources、sinks、channels的別名
a1.sources = r1
a1.sinks = k1
a1.channels = c1

#指定source的類型和相關的參數
a1.sources.r1.type = spooldir 
a1.sources.r1.spoolDir = /home/hadoop/flumedata  #監聽一個文件夾

#設定channel
a1.channels.c1.type = memory

#設定sink
a1.sinks.k1.type = logger

#Bind the source and sink to the channel
#設置sources的通道
a1.sources.r1.channels = c1
#設置sink的通道
a1.sinks.k1.channel = c1

準備測試環境
創建一個目錄:a1.sources.r1.spoolDir = /home/hadoop/flumedata
啟動命令

flume-ng agent --conf conf --conf-file /home/hadoop/example.conf --name a1 -Dflume.root.logger=INFO,console

然后移動一個有內容的文件到flume監聽的文件夾下(/home/hadoop/flumedata):
查看 此時窗口的狀態:
flume的使用方法是什么
內容成功收集!!

到此,關于“flume的使用方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節
推薦閱讀:
  1. Flume 入門
  2. Flume的安裝

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邢台市| 葵青区| 磐石市| 陕西省| 车险| 德江县| 丰都县| 东台市| 岚皋县| 开封县| 吉木萨尔县| 开平市| 吐鲁番市| 逊克县| 双峰县| 新营市| 宁波市| 桑植县| 思南县| 普定县| 桂平市| 乐至县| 白玉县| 绥宁县| 三门峡市| 孝感市| 南昌市| 赞皇县| 新营市| 深圳市| 司法| 天全县| 长治县| 阿拉尔市| 广南县| 宜章县| 于田县| 将乐县| 镇原县| 阿拉善右旗| 祁连县|