Flume(一)

泄露秘密 提交于 2019-11-29 06:36:17

Flume简介

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

(2) Flume基于流式架构,容错性强,也很灵活简单。

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

Flume角色

Source

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

Channel

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

Sink

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

Event

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

Flume传输过程

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

Flume部署及使用

(1)上传压缩包并且解压

 tar -zxvf apache-flume1.8.0-bin.tar.gz -C /opt/module/

(2)修改/opt/module/apache-flume-1.8.0-bin/conf/路径下的文件flume-env.sh.template

改名

mv flume-env.sh.template flume-env.sh

flume-env.sh中加入

export JAVA_HOME=/opt/module/jdk1.8.0_144

确保能找到java路径。

(3)配置环境变量

至此,Flume部署成功。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!