上一節介紹了Flume的一個入門案例,本節博主將分享Flume如何將數據收集到hdfs文件系統上。html
操做步驟:前端
一、進入Flume配置目錄 cd ~/apps/apache-flume-1.6.0-bin/conf 二、新建配置文件 vi tail-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/log/test.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 分鐘就改目錄 a1.sinks.k1.hdfs.round = true a1.sinks.k1.hdfs.roundValue = 10 a1.sinks.k1.hdfs.roundUnit = minute #文件滾動以前的等待時間(秒) a1.sinks.k1.hdfs.rollInterval = 3 #文件滾動的大小限制(bytes) a1.sinks.k1.hdfs.rollSize = 500 #寫入多少個event數據後滾動文件(事件個數) a1.sinks.k1.hdfs.rollCount = 20 #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 四、保存上面配置 shift+Z+Z 五、建立Flume監聽的文件所在的文件夾 mkdir /home/hadoop/log 六、創Flume監聽的文件,並寫循環寫入數據 while true do echo 111111 >> /home/hadoop/log/test.log sleep 0.5 done 七、新打開個ssh客戶端執行下列命令查看日誌文件變化【使用大寫的-F是追蹤文件名進行輸出,而小寫-f是inode進行追蹤】 tail -F test.log 八、啓動hdfs start-dfs.sh 九、檢查下hdfs式否是salf模式: hdfs dfsadmin -report 十、啓動Flume bin/flume-ng agent -c conf -f conf/tail-hdfs.conf -n a1 十一、前端頁面查看下, http://centos-aaron-h1:50070, 文件目錄: /flume/events/19-02-14 十二、使用hdfs命令查看 hdfs dfs -ls /flume/events/19-02-14 hdfs dfs -cat /flume/events/19-02-14/0710/events-.1550099967340
參考地址:http://flume.apache.org/releases/content/1.6.0/FlumeUserGuide.htmlnode
補充知識:linux
linux中的軟鏈接:本質上就是個文件至關於windows中新建了一個快捷方式。rm ... 只刪除軟鏈接,不會刪除真實文件;rm -rf ...會刪除軟鏈接,同時也會刪除真實文件。apache
linux中的硬鏈接:本質上是新建一個引用,須要將全部引用刪除纔會真實文件。 windows
最後寄語,以上是博主本次文章的所有內容,若是你們以爲博主的文章還不錯,請點贊;若是您對博主其它服務器大數據技術或者博主本人感興趣,請關注博主博客,而且歡迎隨時跟博主溝通交流。centos