Flume是什么

Flume简介

1.Flume提供一种分布式的,可靠地,对大量数据的日志进行高效处理,聚集,移动的服务。flume只能在Unix的环境下运行。
2.Flume基于流式框架,容错性强,也灵活简单。
3.Flume,Kafka用来进行数据收集的,Spart,Storm用来实时处理数据,impala用来实时查询。

Flume角色

1.Source
用于采集数据,Source是产生数据流的地方,同时Source会将产生的数据流传输到Channel,这个有点类似于Java IO部分的Channel。
2.Channel
用于桥接Sources和Sinks,类似于一个队列。
3.Sink
从Channel收集数据,将数据写到目标源(可以是下一个Source,也可以是HDFS或者HBase)。
4.Event
传输单元,Flume数据传输的基本单元,以事件的形式将数据从源头送至目的地。

Flume传输过程

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

Flume配置

flume-env.sh
之后配置环境变量

你可能感兴趣的:(storm,分布式,Flume)