Flume 基本使用

2021-09-25 07:12:34 字數 2439 閱讀 3857

配置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可以理解為日誌系統和訊息元件...