flume常用採集靜態檔案配置

2021-10-01 02:22:32 字數 1695 閱讀 9200

#定義三大元件的名稱

########採集靜態檔案

#啟動命令

bin/flume-ng agent -c conf/ -f dir-hdfs.conf -n ag1 -dflume.root.logger=info,console 將日誌列印在控制台,實際情況中將其放入黑洞中

配置如下:

ag1.sources = source1

ag1.sinks = sink1

ag1.channels = channel1

# 配置source元件

ag1.sources.source1.type = spooldir     #spooldir是flume中自帶的讀目錄的一種source,它的行為特點是只要目錄中有新的檔案就會幫你讀走

ag1.sources.source1.spooldir = /root/log/    #具體讀的目錄

ag1.sources.source1.filesuffix=.finished      #檔案被讀取完畢後的檔案字尾

ag1.sources.source1.deserializer.maxlinelength=5120

## roll:滾動切換:控制寫檔案所生成的檔案的切換規則。這三個那個滿足就會執行哪個,如果指定用哪乙個的話,其他兩個等於0即可!!!切記不可以給其他兩條注釋,不然滾動檔案不准

## 按檔案體積(位元組)來切,512000相當於500k

ag1.sinks.sink1.hdfs.rollsize = 512000 

## 按event條數切 ,1000000相當於1000000條資料切換一次檔案

ag1.sinks.sink1.hdfs.rollcount = 1000000

## 按時間間隔切換檔案,60相當於60秒

ag1.sinks.sink1.hdfs.rollinterval = 60

## 控制生成目錄的規則

ag1.sinks.sink1.hdfs.round = true  #要不要切,要

ag1.sinks.sink1.hdfs.roundvalue = 10      #多久切一次

ag1.sinks.sink1.hdfs.roundunit = minute     #十分鐘切一次

ag1.sinks.sink1.hdfs.uselocaltimestamp = true   #使用本地時間戳來取時間,就可以把/%y-%m-%d/%h-%m時間替換掉

# channel元件配置

ag1.channels.channel1.type = memory

## event條數

ag1.channels.channel1.capacity = 500000

##flume事務控制所需要的快取容量600條event

ag1.channels.channel1.transactioncapacity = 600

# 繫結source、channel和sink之間的連線

ag1.sources.source1.channels = channel1

ag1.sinks.sink1.channel = channel1

啟動命令:

[             ]# bin/flume-ng agent -c conf/ -f dir-hdfs.conf -n ag1 -dflume.root.logger=info,console

將日誌列印在前台,實際過程放在黑洞

flume常用採集動態檔案配置

tail hdfs.conf 這個是解決動態檔案,檔案裡,邊放邊採集 用tail命令獲取資料,下沉到hdfs 啟動命令 bin flume ng agent c conf f tail hdfs.conf n ag1 dflume.root.logger info,console 定義三大元件的名稱...

flume配置 動態檔案採集

定義三大元件的名稱 ag1.sources source1 ag1.sinks sink1 ag1.channels channel1 配置source元件 ag1.sources.source1.type exec ag1.sources.source1.command tail f root l...

flume配置採集日誌

上傳dir hdfs.conf 到flume的conf目錄下 定義三大元件的名稱 ag1.sources source1 ag1.sinks sink1 ag1.channels channel1 配置source元件 ag1.sources.source1.type spooldir ag1.so...