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