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