概述
Apache Flume是一個分布式,可靠且可用的系統,用於高效地收集,匯總和將來自多個不同源的大量日志數據移動到集中式數據存儲。
Apache Flume的使用不僅限於日志數據聚合。由於數據源是可定制的,因此Flume可用於傳輸大量事件數據,包括但不限於網絡流量數據,社交媒體生成的數據,電子郵件消息以及幾乎任何可能的數據源。
Apache Flume是Apache Software Foundation的頂級項目,目前有兩個發布代碼行,版本0.9.x和1.x.
系統要求
1.Java運行時環境 - 一定要匹配(譬如flume1.8.0,使用jdk 1.8或更高版本)
2.內存 - 源,通道或接收器使用的配置具有足夠的內存
3.磁盤空間 - 通道或接收器使用的配置有足夠的磁盤空間
4.目錄權限 - 代理使用的目錄的讀/寫權限
安裝配置
單節點Flume部署。該配置允許用戶生成事件並隨后將其記錄到控制台。
1.官網下載自己想要的flume版本,上傳至linux並解壓到自己想要安裝的路徑下
2.配置環境變量:vim /etc/profile
3.立即生效 source /etc/profile
找到自己的安裝路徑:
例如/opt/apache-flume-1.8.0-bin/conf,在此路徑下vim example.conf,再copy以下配置
#example.conf:單節點Flume配置
#命名此代理上的組件
a1.sources=r1
a1.sinks=k1
a1.channels=c1
#描述/配置源
a1.sources.r1.type=netcat
a1。 sources.r1.bind=localhost
a1.sources.r1.port=44444
#描述sink
a1.sinks.k1.type=logger
#使用緩沖內存中事件的通道
a1.channels.c1.type=memory
a1.channels .c1.capacity=1000
a1.channels.c1.transactionCapacity=100
#將信源和信宿綁定到信道
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1
該配置定義了一個名為a1的代理。a1有一個偵聽端口44444上的數據的源,一個緩存內存中事件數據的通道,以及一個將事件數據記錄到控制台的接收器。配置文件命名各種組件,然后描述它們的類型和配置參數。給定的配置文件可能會定義多個命名代理; 當給定的Flume進程啟動時,會傳遞一個標志,告訴它哪個指定的代理要顯示。
啟動flume,在目錄/opt/ apache-flume-1.6.0-bin/bin下,運行flume
flume-ng agent -n a1 -f /conf/example.conf -Dflume.root.logger=INFO,console
參數說明:
-n 指定agent名稱
-c 指定配置文件目錄
-f 指定配置文件
-Dflume.root.logger=DEBUG,console 設置日志等級
打開另一個連接終端,遠程到44444端口,然后發送flume事件進行測試
telnet localhost 44444