【轉載】Flume學習之路 (二)Flume的Source類型

討論QQ:1586558083html

 

正文apache

1、概述

官方文檔介紹:http://flume.apache.org/FlumeUserGuide.html#flume-sourcesapp

2、Flume Sources 描述

2.1 Avro Source

2.1.1 介紹

監聽Avro端口,從Avro client streams接收events。當與另外一個(前一跳)Flume agent內置的Avro Sink配對時,它能夠建立分層收集拓撲。字體加粗的屬性必須進行設置ide

2.1.2 示例

示例一:示例請參考官方文檔oop

示例二:post

複製代碼
#配置一個agent,agent的名稱能夠自定義(如a1)
#指定agent的sources(如s1)、sinks(如k1)、channels(如c1)
#分別指定agent的sources,sinks,channels的名稱 名稱能夠自定義
a1.sources = s1
a1.sinks = k1
a1.channels = c1

#配置source
a1.sources.s1.channels = c1
a1.sources.s1.type = avro
a1.sources.s1.bind = 192.168.123.102
a1.sources.s1.port = 6666

#配置channels
a1.channels.c1.type = memory

#配置sinks
a1.sinks.k1.channel = c1
a1.sinks.k1.type = logger

#爲sources和sinks綁定channels
a1.sources.s1.channels = c1
a1.sinks.k1.channel = c1
複製代碼

啓動flume測試

[hadoop@hadoop1 ~]$ flume-ng agent --conf conf --conf-file ~/apps/flume/examples/single_avro.properties --name a1 -Dflume.root.logger=DEBUG,console -Dorg.apache.flume.log.printconfig=true -Dorg.apache.flume.log.rawdata=true

經過flume提供的avro客戶端向指定機器指定端口發送日誌信息:字體

[hadoop@hadoop1 ~]$ flume-ng avro-client -c ~/apps/flume/conf -H 192.168.123.102 -p 6666 -F 666.txt

接收到的信息ui

2.2 Thrift Source

2.2.1 介紹

ThriftSource 與Avro Source 基本一致。只要把source的類型改爲thrift便可,例如a1.sources.r1.type = thrift,比較簡單,不作贅述。

2.3 Exec Source

2.3.1 介紹

ExecSource的配置就是設定一個Unix(linux)命令,而後經過這個命令不斷輸出數據。若是進程退出,Exec Source也一塊兒退出,不會產生進一步的數據。

下面是官網給出的source的配置,加粗的參數是必選,描述就不解釋了。

2.3.2 示例

複製代碼
#配置文件
#Name the components on this agent  
a1.sources= s1  
a1.sinks= k1  
a1.channels= c1  
   
#配置sources
a1.sources.s1.type = exec  
a1.sources.s1.command = tail -F /home/hadoop/logs/test.log  
a1.sources.s1.channels = c1  
   
#配置sinks 
a1.sinks.k1.type= logger  
a1.sinks.k1.channel= c1  
   
#配置channel
a1.channels.c1.type= memory  
複製代碼

啓動命令

[hadoop@hadoop1 ~]$ flume-ng agent --conf conf --conf-file ~/apps/flume/examples/case_exec.properties --name a1 -Dflume.root.logger=DEBUG,console -Dorg.apache.flume.log.printconfig=true -Dorg.apache.flume.log.rawdata=true

繼續往日誌裏添加數據

接收到的信息

2.4 JMS Source

2.4.1 介紹

從JMS系統(消息、主題)中讀取數據,ActiveMQ已經測試過

2.4.2 官網示例

 

2.5 Spooling Directory Source

2.5.1 介紹

Spooling Directory Source監測配置的目錄下新增的文件,並將文件中的數據讀取出來。其中,Spool Source有2個注意地方,第一個是拷貝到spool目錄下的文件不能夠再打開編輯,第二個是spool目錄下不可包含相應的子目錄。這個主要用途做爲對日誌的準實時監控

下面是官網給出的source的配置,加粗的參數是必選。可選項太多,這邊就介紹一個fileSuffix,即文件讀取後添加的後綴名,這個是能夠更改。

 

2.5.2 示例

複製代碼
a1.sources = s1  
a1.sinks = k1  
a1.channels = c1  
   
# Describe/configure the source  
a1.sources.s1.type =spooldir  
a1.sources.s1.spoolDir =/home/hadoop/logs  
a1.sources.s1.fileHeader= true  
a1.sources.s1.channels =c1  
   
# Describe the sink  
a1.sinks.k1.type = logger  
a1.sinks.k1.channel = c1  
   
# Use a channel which buffers events inmemory  
a1.channels.c1.type = memory  
複製代碼

啓動命令

[hadoop@hadoop1 ~]$ flume-ng agent --conf conf --conf-file /home/hadoop/apps/flume/examples/case_spool.properties --name a1 -Dflume.root.logger=INFO,console

講123.log移動到logs目錄

運行結果

2.6 其餘

參考https://blog.csdn.net/looklook5/article/details/40400885

 

轉載自https://www.cnblogs.com/qingyunzong/p/8995554.html

相關文章
相關標籤/搜索