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

2021-08-21 17:44:41 字數 2440 閱讀 8751

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

2、在example下新建檔案 

log-hdfs.conf

內容如下:

# 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 內容如下 plain view plain copy name the components on this agent a1.sources r1 a1.sinks k1 a1.chan...

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...