Flume 介绍及安装

一、Flume简介

  1. 是一个日志采集系统。
  2. Flume提供一个分布式的,可靠的,对大数据量的日志进行高效收集、聚集、移动的服务,Flume只能在Unix环境下运行。
  3. Flume基于流式架构,容错性强,也很灵活简单。
  4. 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

在这里插入图片描述
搭建完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值