一、什么是Flume
- Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。---摘自百度百科
- Flume只能在Unix环境下运行
- Flume基于流式架构,容错性强,也很灵活简单,主要用于在线实时分析。
二、Flume框架简介(官网:http://flume.apache.org/index.html)
- flume的结构图如下
- flume的工作流程说明
source监控某个文件,文件产生新的数据,拿到该数据后,将数据封装在一个Event中,并put到channel后commit提交,channel队列先进先出,sink去channel队列中拉取数据,然后写入到hdfs或者HBase中。
- Flume Event事件:Flume数据传输的基本单元,以事件的形式将数据从源头送至目的地
- Flume Agent代理:是一个进程承载从外部源事件流到下一个目的地的过程。包含source、channel和sink
- Source:用于采集数据,Source是产生数据流的地方,同时Source会将产生的数据流传输到Channel,这个有点类似于Java IO部分的Channel
- Chanel:用于桥接Sources和Sinks,类似于一个队列。
- Sink: 从Channel收集数据,将数据写到目标源(可以是下一个Source,也可以是HDFS或者HBase)
三、安装配置FLume
转载于:https://my.oschina.net/ittzg/blog/3079181