Flume 介绍及安装
Posted youngxuebo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flume 介绍及安装相关的知识,希望对你有一定的参考价值。
一、Flume简介
- 是一个日志采集系统。
- Flume提供一个分布式的,可靠的,对大数据量的日志进行高效收集、聚集、移动的服务,Flume只能在Unix环境下运行。
- Flume基于流式架构,容错性强,也很灵活简单。
- Flume、Kafka用来实时进行数据收集,Spark、Flink用来实时处理数据,impala用来实时查询。
二、Flume角色
Agent主要由:source,channel,sink三个组件组成:
2.1、Source
用于采集数据,Source是产生数据流的地方,从数据发生器接收数据,同时Source会将产生的数据以Flume的event格式,流传输到一个或者多个通道的Channel,这个有点类似于Java IO部分的Channel。
2.2、Channel
用于桥接Sources和Sinks,类似于一个队列。是一种短暂的存储容器,它将从source处接收到的event格式的数据缓存起来,直到它们被sinks消费掉,它在source和sink间起着桥梁的作用,channel是一个完整的事务,这一点保证了数据在收发的时候的一致性。并且它可以和任意数量的source和sink链接。支持的类型有: JDBC channel , File System channel , Memory channel等.
2.3、Sink
从Channel收集消费数据(events),并将其写传递到目标源(可以是下一个Source,也可以是HDFS或者HBase)。
2.4、Event
传输单元,Flume数据传输的基本单元,以事件的形式将数据从源头送至目的地。
三、Flume传输过程
source监控某个文件或数据流,数据源产生新的数据,拿到该数据后,将数据封装在一个Event中,并put到channel后commit提交,channel队列先进先出,sink去channel队列中拉取数据,然后写入到HDFS中。
四、Flume 搭建
4.1) rz -y 上传安装包 apache-flume-1.8.0-bin.tar.gz
4.2) 解压安装包 apache-flume-1.8.0-bin.tar.gz,并改名
#解压
tar -zxvf apache-flume-1.8.0-bin.tar.gz -C /opt/module/
#改名
mv apache-flume-1.8.0-bin flume-1.8.0
#创建job_conf,用户存放Job配置文件
mkdir flume-1.8.0/job_conf
#将临时文件改掉
mv flume-1.8.0/conf/flume-env.sh.template flume-1.8.0/conf/flume-env.sh
4.3) vi flume-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
搭建完成。
以上是关于Flume 介绍及安装的主要内容,如果未能解决你的问题,请参考以下文章