配置agent
#init
a1.sources = s1
a1.channels = c1
a1.sinks = k1
# sources
#1、動態監控單個日誌檔案
#a1.sources.s1.type = exec
#a1.sources.s1.command=tail -f /opt/cdh5.7.6/hive-1.1.0-cdh5.7.6/logs/hive.log
#a1.sources.s1.shell=/bin/sh -c
#2、使用spooldir 讀取資料夾下所有檔案
#缺點:只能讀一層
#不能動態監控檔案變化,讀取檔案後會修改檔名,然後就會忽略這個檔案
#a1.sources.s1.type = spooldir
#a1.sources.s1.spooldir = /opt/datas/flume/spool
#a1.sources.s1.ignorepattern=(^.+\.tmp$)
#3、taildir方式(推薦)在1.7之上才有,(可以自己整合)
#如果是自己編譯的類,這裡寫類的全路徑
a1.sources.s1.type = taildir
#taildir_position.json儲存每個檔案的監控狀態
a1.sources.s1.positionfile =/opt/cdh5.7.6/flume-1.6.0-cdh5.7.6-bin/position/taildir_position.json
a1.sources.s1.filegroups = f1 f2
#讀單個檔案
a1.sources.s1.filegroups.f1 = /opt/datas/flume/taildir/hd.txt
a1.sources.s1.headers.f1.age = 17
#讀資料夾下面所有檔案
a1.sources.s1.filegroups.f2 = /opt/datas/flume/taildir/testpk/.*
a1.sources.s1.headers.f2.age = 18
a1.sources.s1.headers.f2.type = aa
#channels
#1、檔案
#a1.channels.c1.type = file
#設定檢查點,記錄相關傳輸的資訊,比如取了多少event
#a1.channels.c1.checkpointdir=/opt/datas/flume/channel/checkpoint
#a1.channels.c1.datadirs=/opt/datas/flume/channel/data
#2、記憶體
a1.channels.c1.type = memory
#容量a1.channels.c1.capacity=1000
#瓶口大小
a1.channels.c1.transactioncapacity=100
#sink
#1、日誌收集到hdfs中
a1.sinks.k1.type = hdfs
#存放到hdfs的什麼位置,hdfs檔案系統路徑
a1.sinks.k1.hdfs.path=/flume/taildir
#設定分割槽 必須給head新增時間戳
#a1.sinks.k1.hdfs.path=/flume/part/yearst=%y/monthstr=%m/daystr=%d/minutestr=%m
#a1.sinks.k1.hdfs.uselocaltimestamp=true
#設定檔案型別和寫的格式
#不會亂碼
a1.sinks.k1.hdfs.filetype=datastream
a1.sinks.k1.hdfs.writeformat=text
#設定hdfs檔案大小
#解決小檔案過多
a1.sinks.k1.hdfs.rollinterval=0
a1.sinks.k1.hdfs.rollsize=10240
a1.sinks.k1.hdfs.rollcount=0
#日誌列印
a1.sinks.k1.type = logger
#bind
a1.sources.s1.channels = c1
a1.sinks.k1.channel = c1
執行
//a1為上面agent的名稱 case/taildir-file-hdfs.properties為上面配置檔案的路徑
引數日誌資訊在控制台列印
bin/flume-ng agent -n a1 -c conf -f case/taildir-file-hdfs.properties -dflume.root.logger=info,console
flume的概念和基本使用
flume是乙個分布式的 可靠的 可用的以及高效的對大量資料日誌進行收集 聚集 移動資訊的服務。flume是乙個可容錯的 健壯的並且非常簡單的流式資料框架,他只需要簡單配置source channel以及sink後,編寫一條命令就可實時採集資料。agent的三個組成部分為 source channe...
Flume之agent基本配置使用
這裡的agent名稱定義為agent,其他名稱同理 agent.sources r1 agent.channels c1 agent.sinks k1 sources 定義資源型別為nc,繫結主機為localhost,暴露埠為9999 agent.sources.r1.type netcat age...
flume的基本概述
kafka處理千萬級的資料,產生的初衷為了資料的收集及合理的消費,實際資料怎樣獲取 幾乎所有的專案都會使用log4j元件,為log4j元件設計乙個通道,讓他採集到的資料直接傳送給訊息系統,再有訊息系統傳送給其他的分析程式,這樣就不需要大面積的修改已有的程式 了 flume可以理解為日誌系統和訊息元件...