您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Flume框架的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Flume是一個分布式的海量數據收集框架.
Flume框架流程圖
Channel是緩存的數據,如果Sink傳送給了HDFS,Channel中緩存的數據就會刪除,如果沒有傳送成功,Channel相當于做了備份,Sink重復從Channel中取數據.
在hadoop0上部署一個Flume agent
1、把apache-flume-1.4.0-bin.tar.gz和apache-flume-1.4.0-src.tar.gz在hadoop0上解壓縮.
2、把解壓縮后的apache-flume-1.4.0-src文件夾中的內容全部復制到apache-flume-1.4.0.-bin文件夾中.
3、修改conf目錄下的兩個文件的名稱,一個是flume-env.sh,一個是flume-conf.properties.
其中在flume-env.sh中設置了JAVA_HOME值.
4、實例:把磁盤文件夾中文件通過flume上傳到HDFS中.
4.1 在conf目錄下創建一個文件,叫做test.conf,文件內容如下:
#配置代理
#a1是一個代理名稱,s1是source的名稱,sink1是sink的名稱,c1是channel的名稱
a1.sources = s1
a1.sinks = sink1
a1.channels = c1
#配置一個專用于從文件夾中讀取數據的source
a1.sources.s1.type = spooldir
a1.sources.s1.spoolDir = /apache_logs #值apache_logs表示數據文件的目錄
a1.sources.s1.fileSuffix=.abc #值.abc表示數據文件被處理完后,被重命名的文件名后綴
a1.sources.s1.channels = c1 #值c1表示source接收數據后送到的channel的名稱
#配置一個專用于把輸入寫入到hdfs的sink
a1.sinks.sink1.type = hdfs
a1.sinks.sink1.hdfs.path=hdfs://hadoop0:9000/apache_logs #值表示目的地
a1.sinks.sink1.hdfs.fileType=DataStream #值DataStream表示文件類型,是不經過壓縮的
a1.sinks.sink1.hdfs.writeFormat=Text #值表示寫出文件原內容
a1.sinks.sink1.channel = c1 #值c1表示sink處理數據的來源
#配置一個內存中處理的channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
運行:[root@hadoop conf]# ../bin/flume-ng agent --conf conf --conf-file test.conf --name a1 -Dflume.root.looger=DEBUG,console
感謝各位的閱讀!關于“Flume框架的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。