Flume實戰採集檔案內容存入HDFS

2021-08-17 01:09:12 字數 2569 閱讀 3152

1、flume安裝目錄下新建資料夾 example 

2、在example下新建檔案 

log-hdfs.conf

內容如下:

[plain]view plain

copy

# name the components on this agent  

a1.sources = r1  

a1.sinks = k1  

a1.channels = c1  

#exec 指的是命令  

# describe/configure the source  

a1.sources.r1.type = exec  

#f根據檔名追中, f根據檔案的nodeid追中  

a1.sources.r1.command = tail -f /home/hadoop/testdata/testflume.log  

a1.sources.r1.channels = c1  

# describe the sink  

#下沉目標  

a1.sinks.k1.type = hdfs  

a1.sinks.k1.channel = c1  

#指定目錄, flum幫做目的替換  

a1.sinks.k1.hdfs.path = /flume/events/%y-%m-%d/%h%m/  

#檔案的命名, 字首  

a1.sinks.k1.hdfs.fileprefix = events-  

#10 分鐘就改目錄(建立目錄), (這些引數影響/flume/events/%y-%m-%d/%h%m/)  

a1.sinks.k1.hdfs.round = true  

a1.sinks.k1.hdfs.roundvalue = 10  

a1.sinks.k1.hdfs.roundunit = minute  

#目錄裡面有檔案  

#------start----兩個條件,只要符合其中乙個就滿足---  

#檔案滾動之前的等待時間(秒)  

a1.sinks.k1.hdfs.rollinterval = 3  

#檔案滾動的大小限制(bytes)  

a1.sinks.k1.hdfs.rollsize = 500  

#寫入多少個event資料後滾動檔案(事件個數)  

a1.sinks.k1.hdfs.rollcount = 20  

#-------end-----  

#5個事件就往裡面寫入  

a1.sinks.k1.hdfs.batchsize = 5  

#用本地時間格式化目錄  

a1.sinks.k1.hdfs.uselocaltimestamp = true  

#下沉後, 生成的檔案型別,預設是sequencefile,可用datastream,則為普通文字  

a1.sinks.k1.hdfs.filetype = datastream  

# use a channel which buffers events in memory  

a1.channels.c1.type = memory  

a1.channels.c1.capacity = 1000  

a1.channels.c1.transactioncapacity = 100  

# bind the source and sink to the channel  

a1.sources.r1.channels = c1  

a1.sinks.k1.channel = c1  

3、shell命令不斷寫資料到檔案

[hadoop@nbdo3 testdata]$ while true; do echo "hello ningbo do" >> testflume.log ; sleep 0.5; done

4、在新視窗用tail 命令檢視到 testflume.log檔案內容不斷增加

[hadoop@nbdo3 testdata]$ tail -f testflume.log 

hello ningbo do

hello ningbo do

hello ningbo do

hello ningbo do

hello ningbo do

hello ningbo do

hello ningbo do

hello ningbo do

hello ningbo do

hello ningbo do

5、啟動hadoop

6、啟動flume

7、瀏覽器進入hadoop管理介面。

Flume實戰採集檔案內容存入HDFS

1 flume安裝目錄下新建資料夾 example 2 在example下新建檔案 log hdfs.conf 內容如下 name the components on this agent a1.sources r1 a1.sinks k1 a1.channels c1 exec 指的是命令 des...

Flume採集檔案到HDFS(跟蹤檔案內容)

1.配置檔案編寫 在flume下新建tail hdfs.conf pooldir flume中自帶的讀取目錄的source,只要出現新檔案就會被讀走 定義三大元件的名稱 ag1.sources source1 ag1.sinks sink1 ag1.channels channel1 配置sourc...

flume配置 動態檔案採集

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