概念
- Flume是向Hadoop批量导入基于事件的海量数据,例如利用Flume从一组Web服务器中搜集日志文件,然后把这些文件转移到一个新的HDFS汇总文件中以做进一步处理,其终点(或者sink)通常为HDFS。
- Flume也支持导入其他系统比如HBase或Solr
运行流程

- 使用Flume需要运行Flume代理,Flume代理是由持续运行的source、sink以及channel(用于连接source和sink)构成的Java进程。
- Flume的source产生事件,并将其传输给channel,channel存储这些事件直至转发给sink。
- 可以把source-channel-sink的组合视为基本的Flume构件。
Flume的构成
- Flume由一组以分布式拓扑结构互相连接的代理构成,系统边缘的代理(如与WEB服务器共存于同一台机器上的代理)负责采集数据,并把数据转发给负责汇总的代理,然后再将这些数据存储到其最终目的地。
- 代理通过配置来运行一组特定的source和sink,使用Flume所要做的工作主要是通过配置使得各个组件融接到一起。
安装
http://www.apache.org/dyn/closer.lua/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz
# 解压
tar -zxvf apache-flume-1.9.0-bin.tar.gz
# 配置环境变量
#Flume环境
export FLUME_HOME=/Users/babywang/Documen