軟體環境
作業系統:ubuntu server 18.04
jdk:1.8.0
* 先登入root賬號再進行以下操作
1.安裝jdk
cd /home
3.解壓安裝包
tar -xvf apache-flume-1.9.0-bin.tar.gz
4.改名
mv apache-flume-1.9.0-bin flumecd /home/flume/conf
mv flume-conf.properties.example flume-conf
5.配置系統環境變數
vim ~/.bashrc
新增以下內容:
export path=$path:home/flume/bin
更新環境變數
source ~/.bashrc
6.修改配置檔案
cd /home/flume/confvim flume-conf
新增以下內容:
# name the components on this agenta1.sources =r1
a1.sinks =k1
a1.channels =c1
# describe/configure the source
a1.sources.r1.type =netcat
a1.sources.r1.bind =localhost
a1.sources.r1.port = 44444
# describe the sink
a1.sinks.k1.type =logger
# 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
這裡的a1是agent名,也就是啟動例項名,對應啟動命令的agent名(--name)。
常修改的有2個屬性
(1) a1.sources.r1.type
接收的資料來源型別,官方說明文件:
* 常用的有:
netcat -接收的是原始資料,一般是telnet測試時使用**ro -只能接收用**ro序列化後的資料,一般是實際生產時使用
spooling -監聽本地硬碟的指定目錄的檔案
kafka - 從kafka的topic獲取資料
(2) a1.sinks.k1.type
接收資料的目的地型別(就是儲存到**),官方說明文件:
* 常用的有:
logger -輸出到log4j配置的地方file_roll -輸出到指定目錄
kafka -輸出資料到kafka的指定topic,大資料場景常用
hbase -存入hbase
hive -存入hive
elasticsearch -輸出到elasticsearch,檢索類大資料場景常用
**ro - 輸出為以**ro序列化的資料,一般是多級flume時使用。例如,flume1接收原始資料後,序列化為**ro資料,再傳送給flume2
7.啟動
flume-ng agent --conf conf --conf-file /home/flume/conf/flume-conf --name a1 -dflume.root.logger=info,console
也可以用縮寫引數,下面語句跟上面的同樣效果:
flume-ng agent -c conf -f /home/flume/conf/flume-conf -n a1 -dflume.root.logger=info,console
* 這裡的a1必須跟flume-conf裡面的agent名一致
8.命令測試
由於上面的flume啟動是用前台執行,獨佔了終端不能繼續輸入命令,所以如果要測試,有2個方法:
a.新開視窗來輸入測試命令
b.使用&或nohup在後台執行flume,使用後只能用kill來關閉程序
flume-ng agent -c conf -f /home/flume/conf/flume-conf -n a1 -dflume.root.logger=info,console &或nohup flume-ng agent -c conf -f /home/flume/conf/flume-conf -n a1 -dflume.root.logger=info,console
或nohup flume-ng agent -c conf -f /home/flume/conf/flume-conf -n a1 -dflume.root.logger=info,console &
使用telnet命令進行測試:
telnet localhost 44444
然後輸入任意內容,看到執行flume的視窗顯示對應訊息,就是部署成功了。
9.**測試
測試之前要先把a1.sources.r1.type = netcat的改成a1.sources.r1.type = **ro,否則會報錯(因為api預設是傳送**ro序列化資料)。
publicclass
flumesender
}catch
(exception e)
finally}}
}
Flume安裝部署
flume的安裝非常簡單,只需要解壓即可,當然,前提是已有hadoop環境 上傳安裝包到資料來源所在節點上 然後解壓 tar zxvfapache flume 1.6.0 bin.tar.gz 先用乙個最簡單的例子來測試一下程式環境是否正常 1 先在flume的conf目錄下新建乙個檔案 vi ne...
flume的安裝與使用
安裝flume 2 主目錄解壓 tar zxvf xx.tar mv usr share 3 修改 vi etc profile 在最後追加下面配置 flume export flume home usr share flume export path path flume home bin 4 檢...
大資料 八 Flume部署
如果說大資料中分布式收集日誌用的是什麼,你完全可以回答flume!面試小心問到哦 首先說乙個複製本伺服器檔案到目標伺服器上,需要目標伺服器的ip和密碼 命令 scp filename ip 目標路徑 一 概述 flume是cloudera提供的乙個高可用的,高可靠的,分布式的海量日誌採集 聚合和傳輸...