大數據教程(13.1)Flume使用

    上一節介紹了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

相關文章
相關標籤/搜索