Flume框架(基础)

一、Flume在集群中扮演的角色

Flume、Kafka用来实时进行数据收集,Spark、Storm用来实时处理数据,impala用来实时查询。

二、Flume框架简介

1、Flume提供一个分布式的,可靠的,对大数据量的日志进行高效收集、聚集、移动的服务,Flume只能在Unix环境下运行。

2、Flume基于流式架构,容错性强,也很灵活简单,主要用于在线实时分析。

3、角色

1)Source

用于采集数据,Source是产生数据流的地方,同时Source会将产生的数据流传输到Channel,这个有点类似于Java IO部分的Channel

2)Channel

用于桥接Sources和Sinks,类似于一个队列。

3)Sink

从Channel收集数据,将数据写到目标源(可以是下一个Source,也可以是HDFS或者HBase)

4、传输单元

Flume数据传输的基本单元,以事件的形式将数据从源头送至目的地

5、传输过程

source监控某个文件,文件产生新的数据,拿到该数据后,将数据封装在一个Event中,并put到channel后commit提交,channel队列先进先出,sink去channel队列中拉取数据,然后写入到hdfs或者HBase中

三、安装配置FLume

配置Java的环境变量 flume-env.sh

四、Flume帮助命令

$ bin/flume-ng

猜你喜欢

转载自blog.csdn.net/qq_40310148/article/details/87870465