1 概述
flume是一個高可用、分佈式的日誌收集系統,同時flume支持對數據的簡單處理,支持failover和負載均衡,支持可定製的數據源和數據存儲能力
2 體系架構圖
3 術語
Agent : 一個flume節點的實例,包括Source、Channel、Sink
Source: 完成對日誌的收集,分成transtion和event傳遞到Channel中
Source提供了各種實現,包括 Avro Source、Exce Source、Spooling Directory Source、Netcat Source 、HDFS Source等等
使用Spooling Directory Source注意:該目錄下文件不可再打開編輯,不可以包含子目錄
Channel : 數據通道,主要提供一個隊列的功能,對數據提供緩存的功能
Channel類型:Memory Channel、JDBC Channel、File Channel等等
Sink: 完成由特定的channel中取出數據,進行相應存儲文件系統、數據庫等
Sink也提供各種實現,包括 HDFS Sink、Logger Sink 、Avro Sink、Hbase Sink等等
4 單機搭建
[root@localhost local]# tar -zxvf apache-flume-1.7.0-bin.tar.gz
[root@localhost local]# cd apache-flume-1.7.0-bin/conf/
[root@localhost conf]# cp flume-env.sh.template flume-env.sh
[root@localhost conf]# vi flume-env.sh
export JAVA_HOME=/usr/local/jdk1.7.0_79
[root@localhost conf]# cp flume-conf.properties.template flume.conf
[root@localhost apache-flume-1.7.0-bin]# bin/flume-ng version