硬件環境:html
騰訊雲,兩臺服務器8G 雙核 java
軟件環境:node
flume1.八、jdk1.8,centos6linux
第一次搭建也是各類找文件,只知道flume是日誌抓取服務,也據說了很是穩定強大的服務,正好公司須要抓取廣告點擊次數產生的日誌要作費用統計,就和作大數據的同事學習了一下,初次學習flume的時候是經過flume官網還有各類論壇的例子結合查詢,flume官網是純英文,二把刀的我只能憑藉關鍵字查詢瞭解配置問題,無法官網是最權威的。apache
flume運行流程圖:vim
手動繪畫,忍着點把,^_^~ 簡單解釋一下圖的意思,這是一個「單機版」的flume也就是新手第一次搭建的圖,測試環境,安裝flume以後去ping這臺server的端口產生日誌以後flume接收經過,而後輸出到控制檯的一個流程。centos
簡單的介紹一下flume的工做流程,拿到日誌(數據)——flume處理——發送——結束,大概就是這個樣子 ,主要咱們學習的是flume處理的這個過程服務器
flume是一個分佈式的java開發出來的服務工具,學過java的話,對它的報錯和提示信息 咱們基本是沒問題能看得懂的,分佈式
當咱們經過方式來接收數據是由flume中的source來接收的,它主要是用來配置:去哪裏接收?怎麼接收數據?數據如何發送?這些是須要咱們來告訴它的,能夠實時監聽端口、日誌、文件/文件夾,反正就是各類接收吧,具體怎麼接收?哪一種接收?如何配置?官網的幫助文檔上寫的特清晰,必定要忍住看一下。我如今只解讀個人測試環境監聽的配置是什麼意思,(其實例子也是在官網看到的。。。。)就能夠照貓畫虎的去作了,途中確定會報錯,必定冷靜下來,我也是一步一步解決的。工具
首先要準備flume和jdk
下載flume版本在官網 這個就不教了http://flume.apache.org/download.html
我這裏用的是flume1.8版本,官網推薦1.6,能夠在生產環境部署,比較穩定,咱們測試環境就用最新的了。
jdk下載本身查一下吧,不會jdk安裝估計也學不到這裏了。。。
全部下載tar包到linux服務器上
我放到了/opt下面了
解壓完成以後就來部署環境變量
vim /etc/profile
在最後加上jdk和flume的環境變量方便操做
當即生效profile文件
source /etc/profile
而後隨便位置測試一下環境變量是否生效
出現能夠命令參數就說明環境變量正常了。若是沒有那必定要檢查本身電腦的環境問題,會不會發生衝突了或其餘問題
接下來配置flume的配置文件
首先要copy一份配置文件來用更名爲flume.conf
cp /opt/apache-flume-1.8.0-bin/conf/flume-conf.properties.template /opt/apache-flume-1.8.0-bin/conf/flume.conf
打開剛複製好的配置文件來刪除裏面全部內容,而後修改爲我這樣的
vim /opt/apache-flume-1.8.0-bin/conf/flume.conf
配置文件內容:
1 # example.conf: A single-node Flume configuration 2 3 # Name the components on this agent 4 a1.sources = r1 5 a1.sinks = k1 6 a1.channels = c1 7 8 # Describe/configure the source 9 a1.sources.r1.type = netcat 10 a1.sources.r1.bind = localhost 11 a1.sources.r1.port = 44444 12 13 # Describe the sink 14 a1.sinks.k1.type = logger 15 16 # Use a channel which buffers events in memory 17 a1.channels.c1.type = memory 18 a1.channels.c1.capacity = 1000 19 a1.channels.c1.transactionCapacity = 100 20 21 # Bind the source and sink to the channel 22 a1.sources.r1.channels = c1 23 a1.sinks.k1.channel = c1
其實已經配置完成了,如今就能夠啓動來測試flume是否能用了
啓動命令:
flume-ng agent --conf conf --conf-file /opt/apache-flume-1.8.0-bin/conf/flume.conf --name a1 -Dflume.root.logger=INFO,console
而後會進入監聽狀態:
這就說明啓動成功了,而後在打開一個登錄窗口
使用telnet來檢測這個端口是否能用,若是沒有telnet須要安裝,yum install telnet -y 這個若是有什麼問題,本身解決一下把。
完成!
在這裏我截圖來解釋一下這個配置文件的配置參數都是什麼
對照參數和上面的畫圖,而後理解一下sources 、channels和sinks之間的工做原理,以上代碼所有真實有效所有都是親測以後,原創,不是轉載別人的,因此複製能夠直接使用。以後會研究flume集羣搭建,到時候在分享給你們