久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Flume入門知識點有哪些

241次閱讀
沒有評論

共計 3448 個字符,預計需要花費 9 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關 Flume 入門知識點有哪些,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1、Flume 是什么?

 ○ Flume 是由 cloudera 開發的實時日志收集系統
 ○ 核心概念是由一個叫做 Agent(代理節點) 的 java 進程運行在日志收集節點
 ○ Flume 在 0.94.0 版本以前(包含 0.94.0 版本) 稱為 Cloudera Flume OG, 由于 0.94.0 版本以前存在各種缺陷, 因此不得不重新設計 Flume 并更名為 Apache Flume NG(1.0.0 開始)
 ○ Flume NG VS Flume OG
 – 目前版本都是 Flume NG(1.0.0 版本之后)
  架構方面:
 □ Flume OG 有三種角色的節點:代理節點 agent、收集節點 collector、主節點 master
 □ agent 負責從各個數據源收集日志數據、將收集到的數據集中到 collector, 再由 collector 節點匯總存入到 HDFS. 而 master 負責管理 agent\collector 的活動
 □ agent、collector 都稱為 node,node 的角色根據配置的不同分為邏輯節點和物理節點, 對于邏輯節點的區分、配置、使用非常復雜.
 □ agent、collector 由 source、sink 組成, 表示當前節點的數據從 source 傳送到 sink

  以上相對于 Flume NG 來說:

 □ Flume NG 只有一種角色節點:代理節點 agent
 □ 沒有 collector、master 節點, 這是最核心的變化.
  □ 去除邏輯節點和物理節點的概念和內容
  □ agent 節點的組成發生變化, 由 source、sink、channel 三個組件組成
 Zookeeper 方面:
 □ Flume OG 的穩定性依賴 zookeeper, 它需要 zookeeper 對其多類節點的工作進行管理, 雖然 OG 可以使用內存的方式對各類節點進行管理, 但需要用戶忍受機器出現故障時信息丟失的出現.
 □ Flume NG 的節點角色數量由原來的 3 個縮減為 1 個, 不存在多類角色的問題, 所以不再需要 zookeeper 對各類節點協調的作用, 由此脫離了對 zookeeper 的依賴.

2、Flume 的三個組件

  一個 Agent 進程包含了三個組件:Source 組件、Channel 組件、Sink 組件,Source 組件負責收集日志文件并發送給 Channel 組件,Channel 組件形成一個管道, 再由 Sink 組件讀取 Channel 組件中的日志文件并發送給其他目標或者文件系統

 

 Source 組件:專門收集日志文件,可以處理各種類型的日志數據,如:Avro、Thrift、Exec、JMS、Spooling Directory、Twitter、Kafka、NetCat、Sequence Generator、Syslog、HTTP、Stress、Legacy、Custom(自定義格式)、Scribe
 Channel 組件:專門用于存放臨時文件,存儲的位置可以是 Memory、JDBC、Kafka、File、Spillable Memory、Pseudo Transaction、Custom(自定義)
 Sink 組件:專門用于發送存放在 Channel 組件中的數據,發送的目標包括:HDFS、Hive、Logger、Thrift、IRC、File Roll、Null、HBase、MorphlineSolr、ElasticSearch、Kite Dataset、Kafka、Custom(自定義)
 Note:
 ○ 具體各種使用請參官方文檔:http://flume.apache.org/FlumeUserGuide.html#flume-sink-processors
 ○ Channel 中的數據只有在 Sink 組件發送成功后才會被刪除
 ○ 在整個數據的傳輸過程中流動的是 event,event 可以理解為是 flume 中數據傳輸的基本單位,event 表現為一條條的數據, 其事務保證是 event 級別.
 ○ flume 支持多級 flume 的 agent, 支持扇入(fan-in)\ 扇出(fan-out)

Note:

 ○ Sink 支持發送多個目標

3、Flume 的安裝與配置

 ○ 下載
 apache-flume-1.6.0-bin.tar.gz
 JDK 版本:1.6+
 ○ 解壓 FLUME_HOME

tar -zxvf apache-flume-1.6.0-bin.tar.gz

 ○ 安裝 JDK、配置 JAVA_HOME、FLUME_HOME.

vi /etc/profile
export FLUME_HOME=/home/app/flume
export PATH=.:$FLUME_HOME/bin

 ○ 一個簡單的例子, 監控 /home/data/logs 目錄, 一旦有發現文件立即上傳到 hdfs 中
 □ 首先編寫一個配置文件, 文件名為:example.conf

#agent1 表示代理名稱
 agent1.sources=source1
 agent1.sinks=sink1
 agent1.channels=channel1 #Spooling Directory 是監控指定文件夾中新文件的變化,一旦新文件出現,就解析該文件內容,然后寫入到 channle。寫入完成后,標記該文件已完成或者刪除該文件。 # 配置 source1
 agent1.sources.source1.type=spooldir
 # 指定監控的目錄
 agent1.sources.source1.spoolDir=/home/data/logs
 agent1.sources.source1.channels=channel1
 agent1.sources.source1.fileHeader = false
 agent1.sources.source1.interceptors = i1
 agent1.sources.source1.interceptors.i1.type = timestamp
 # 配置 sink1
 agent1.sinks.sink1.type=hdfs
 agent1.sinks.sink1.hdfs.path=hdfs://master:9000/flume/data
 agent1.sinks.sink1.hdfs.fileType=DataStream
 agent1.sinks.sink1.hdfs.writeFormat=TEXT
 agent1.sinks.sink1.hdfs.rollInterval=1
 agent1.sinks.sink1.channel=channel1
 agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d
 # 配置 channel1
 agent1.channels.channel1.type=file
 #channel 數據存放的備份目錄
 agent1.channels.channel1.checkpointDir=/home/data/channel_data.backup
 #channel 數據存放目錄
 agent1.channels.channel1.dataDirs=/home/data/channel_data

 □ 將 example.conf 文件放到 $FLUME_HOME/conf 文件夾下
 □ 啟動 agent 進程命令:需要指定 agent 的名字、指定配置目錄和配置文件
  官方格式:

bin/flume-ng agent -n $agent_name -c conf -f conf/flume-conf.properties.template

在例子中編寫成如下↓↓

 bin/flume-ng agent -n agent1 -c conf -f conf/example.conf -Dflume.root.logger=DEBUG,console
 -Dflume.root.logger=DEBUG,console 是在控制臺打印信息

 □ 重新打開一個終端,上傳一個文件到 /home/data/logs
 □ /home/data/logs 中的文件被更名為.COMPLETED, 查看 HDFS 文件存在, 配置完畢

關于“Flume 入門知識點有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計3448字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 抚松县| 鄢陵县| 施秉县| 鄄城县| 沿河| 赤城县| 日喀则市| 高雄县| 新晃| 万州区| 措勤县| 绵阳市| 勃利县| 磐安县| 东明县| 黄山市| 喀什市| 应城市| 五大连池市| 宜昌市| 贵州省| 东港市| 涞水县| 通州市| 宁强县| 洱源县| 宜兰市| 泗阳县| 湘潭县| 资阳市| 昂仁县| 弥勒县| 普宁市| 屏南县| 兴安盟| 临夏市| 永福县| 铁岭市| 龙门县| 阳城县| 平顶山市|