您好,登錄后才能下訂單哦!
這篇文章主要講解了“flume集群的搭建方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“flume集群的搭建方法”吧!
flume其實沒有集群概念,每個flume都是一個獨立的個體,每個flume agent收集數據匯總到flume collector,由collector寫入flume storage。
我現在有兩臺虛擬機,一臺是叫master,當flume agent;一臺叫slave1,當flume collector,實現agent連接collector向collector發送日志,最終collector將日志寫入到hdfs。
兩臺虛擬機事先配置好了jdk和hadoop。
1、解壓安裝
tar -zxvf apache-flume-1.6.0-bin.tar.gz
2、配置各機器環境變量 /etc/profile
3、配置flume JAVA_HOME
cd /usr/local/apache-flume-1.6.0-bin/conf,把flume-env.sh.template重命名為flume-env.sh,往里添加 export JAVA_HOME=/usr/lib/jdk1.7.0_75
4、復制flume到其他節點(只是各自的啟動文件不同)
cd /usr/local
scp -r apache-flume-1.6.0-bin slave1:~然后再移動到響應目錄下
5、配置agent啟動文件
在master節點上,在flume的conf目錄,將flume-conf.properties.template重命名為flume-test.conf(其實什么名字都可以,只要你啟動的時候調用對就可以了),然后配置source,channel,sink。
我這里agent source是spooldir ,channel是memory,sink是avro,三層類別詳細說明見flume官網
在slave1節點,collector三層,source是avro,channel是memory,sink是hdfs
6、啟動flume
先啟動slave1節點,再啟動master節點
flume-ng agent -n agent -c /usr/local/apache-flume-1.6.0-bin/conf -f /usr/local/apache-flume-1.6.0-bin/conf/flume-test.conf -Dflume.root.logger=DEBUG,console
flume-ng agent -n agent -c /usr/local/apache-flume-1.6.0-bin/conf -f /usr/local/apache-flume-1.6.0-bin/conf/flume-test.conf -Dflume.root.logger=DEBUG,console
啟動命令一樣,-n是名字,-c是配置文件的目錄,-f是配置文件,-D是日志級別。
然后在master的/home/zhanghuan/Documents/flume-test目錄下添加文件,最后在hdfs里查看該文件,如果存在該文件,則表示flume搭建成功,否則失敗。
注意,搭建過程中可能出現如下錯誤:
Could not configure sink sink1 due to: No channel configured for sink: sink1
org.apache.flume.conf.ConfigurationException: No channel configured for sink: sink1
則仔細查看配置文件,一個source可以對應多個channel,所以是channels,agent.sources.source1.channels = channel1,
但是一個sink對應一個channel,所以是channel,agent.sinks.sink1.channel = channel1,請注意。
感謝各位的閱讀,以上就是“flume集群的搭建方法”的內容了,經過本文的學習后,相信大家對flume集群的搭建方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。