一、flume简介
flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单的处理,并写到各类数据接受方(可定制)的能力。Flume1.x版本的统称为Flume-ng。
数据处理:
Flume提供了从console(控制台)、RPC(Thrift-RPC)、text、tail、syslog(syslog日志系统),支持TCP和UDP等2两种模式,exec(命令执行)等数据源上收集数据的能力。
Flume NG采用的是三层架构: Agent层,Collector层,和Store层,每一层均可水平拓展。其中Agent包含Source,Channel和Sink,三者组建了一个Agent。三者的作用:
Source:用来消费(收集)数据源到Channel组件中。
Channel:中转临时存储,保存所有Source组件信息。
Sink:从Channel中读取,读取成功后会删除Channel中的信息。
二、单点FlumeNG搭建、运行。
这里我用的是Flume-1.6.0版本。
安装解压flume安装包,命令如下所示:
tar -zxvf apache-flume-1.6.0-bin.tar.gz
配置环境变量:
flume单节点配置文件设置如下:
flume-hdfs.conf
复制flume-env.sh
cp flume-env.sh.template flume-env