實時讀取目錄檔案到hdfs
使用flume監聽整個目錄的檔案
1)建立job的job_flume2.conf檔案
a3.sources = r3
a3.sinks = k3
a3.channels = c3
# describe/configure the source
a3.sources.r3.type = spooldir
a3.sources.r3.spooldir = /opt/package/flume/test
a3.sources.r3.filesuffix = .completed
a3.sources.r3.fileheader = true
a3.sources.r3.ignorepattern = ([^ ]*\.tmp)
# describe the sink
a3.sinks.k3.type = hdfs
a3.sinks.k3.hdfs.path = hdfs:
a3.sinks.k3.hdfs.fileprefix = upload-
a3.sinks.k3.hdfs.round = true
a3.sinks.k3.hdfs.roundvalue = 1
a3.sinks.k3.hdfs.roundunit = hour
a3.sinks.k3.hdfs.uselocaltimestamp = true
a3.sinks.k3.hdfs.batchsize = 100
a3.sinks.k3.hdfs.filetype = datastream
a3.sinks.k3.hdfs.rollinterval = 600
a3.sinks.k3.hdfs.rollsize = 134217700
a3.sinks.k3.hdfs.rollcount = 0
a3.sinks.k3.hdfs.minblockreplicas = 1
# use a channel which buffers events in memory
a3.channels.c3.type = memory
a3.channels.c3.capacity = 1000
a3.channels.c3.transactioncapacity = 100
# bind the source and sink to the channel
a3.sources.r3.channels = c3
a3.sinks.k3.channel = c3
2)執行測試
bin/flume-ng agent \
--conf conf/ \
--name a3 \
--conf-file conf/job_flume2.conf
向/opt/package/flume/test中新增檔案進行測試
注意:
上傳完成的檔案會以.completed結尾,被監控資料夾每 500 毫秒掃瞄一次檔案變動
在hdfs的web介面中如果沒有發現有相應的目錄生成,可能是因為你監控的目錄檔案太小,沒有達到你編寫的.conf檔案中的大小要求,所以不會向hdfs傳送
flume採集案例
1 採集目錄到hdfs 採集需求 某伺服器的某特定目錄下,會不斷產生新的檔案,每當有新檔案出現,就需要把檔案採集到hdfs中去 根據需求,首先定義以下3大要素 採集源,即source 監控檔案目錄 spooldir 下沉目標,即sink hdfs檔案系統 hdfs sink source和sink之...
flume簡單案例
從指定網路埠輸出資料到控制台 編寫example.conf檔案在flume的conf資料夾下 name the components on this agent a1.sources r1 a1.sinks k1 a1.channels c1 describe configure the sourc...
Flume 入門案例
案例需求 使用 flume 監聽乙個埠,收集該埠資料,並列印到控制台。安裝 netcat 工具 判斷 44444 埠是否被占用 sudo netstat nlp grep 44444在 flume 目錄下建立 job 資料夾並進入 job 資料夾。mkdir job cd job在 job 資料夾下...