天天看點

實時讀取本地檔案到HDFS

1) 在jobconf目錄建立flume-hdfs.conf檔案

# 1.定義agent的名字a2

a2.sources = r2

a2.sinks = k2

a2.channels = c2

#2.定義Source

a2.sources.r2.type = exec

a2.sources.r2.command = tail -F /opt/Felix  Felix是檔案,這裡把自己坑了一次

a2.sources.r2.shell = /bin/bash -c

#3.定義sink

a2.sinks.k2.type = hdfs

a2.sinks.k2.hdfs.path = hdfs://bigdata121:9000/flume/%H   (注意修改為自己的機器)

#上傳檔案的字首

a2.sinks.k2.hdfs.filePrefix = Andy-

#是否按照時間滾動檔案夾

a2.sinks.k2.hdfs.round = true

#多少時間機關建立一個新的檔案夾

a2.sinks.k2.hdfs.roundValue = 1

#重新定義時間機關

a2.sinks.k2.hdfs.roundUnit = hour

#是否使用本地時間戳

a2.sinks.k2.hdfs.useLocalTimeStamp = true

#積攢多少個Event才flush到HDFS一次

a2.sinks.k2.hdfs.batchSize = 1000

#設定檔案類型,可支援壓縮

a2.sinks.k2.hdfs.fileType = DataStream

#多久生成一個新的檔案

a2.sinks.k2.hdfs.rollInterval = 600

#設定每個檔案的滾動大小

a2.sinks.k2.hdfs.rollSize = 134217700

#檔案的滾動與Event數量無關

a2.sinks.k2.hdfs.rollCount = 0

#最小副本數

a2.sinks.k2.hdfs.minBlockReplicas = 1

# 4.定義Channel 

a2.channels.c2.type = memory

a2.channels.c2.capacity = 1000

a2.channels.c2.transactionCapacity = 100

# 5.連結

a2.sources.r2.channels = c2

a2.sinks.k2.channel = c2

執行監控配置 指令如下 :

/opt/module/flume1.8.0/bin/flume-ng agent \

--conf /opt/module/flume1.8.0/conf/ \

--name a2 \

--conf-file /opt/module/flume1.8.0/jobconf/flume-hdfs.conf   

 注: flume-hdfs.conf 這個檔案是自己配置的,還有jobconf 檔案夾也是建立的

實時讀取本地檔案到HDFS

在bigdata112上寫入資料到vi Andy ,結果如下 

實時讀取本地檔案到HDFS