Flume

一、Flume概述

flume是分布式的,可靠的,用于从不同的来源有效 收集,聚集 和 移动 大量的日志数据用以集中式管理的系统。
是apache的一个顶级项目。

二、Flume的安装配置

a. 下载flume
flume是apache的顶级项目,通过访问如下地址可以下载flume的安装包:http://flume.apache.org/
下载的时候要注意,flume主要有两个大的版本,分别是flume0.9x和flume1.x版本,这两个版本互不兼容,下载时要注意。我们学习的是最新的1.x版本,也叫flume-ng版本。
b. 准备前提
安装好jdk,并且版本要匹配
配置JAVA_HOME环境变量
c. 安装flume
将flume的安装包上传到linux中进行解压即可
flume可以通过JAVA_HOME环境变量找到jdk使用,并不需要额外配置

三、Flume的基本概念

a. Flume Event - Flume 事件

官方定义:被定义为一个具有有效荷载的字节数据流和可选的字符串属性集。
通俗定义:一条日志在flume中会被转换成一个JSON格式的串来传递,这个JSON串就是一个FlumeEvent,具体的格式为{header:{头信息},body:日志内容},所以简单来说,一条日志在一个Flume就对应一个JSON串,即,一个FlumeEvent

b. Flume Agent- Flume 代理

官方定义:是一个进程,承载从外部源事件流到下一个目的地的过程。包含Source ,Channel和 Sink。
通俗定义:是Flume的基本组件一个Agent就是一个基本的日志收集单元,由Source ,Channel和 Sink组成。多个Agent之间还可以连接 形成复杂的日志流动的网络。

c. Source - 数据源

官方定义:消耗外部传递给他的事件,外部源将数据按照Flume Source 能识别的格式将Flume事件发送给Flume Source
通俗定义:Agent中的组件,负责连接到数据源,获取数据源发送来的数据,将数据转换为FlumeEvent存储到Channel中。

d. Channel - 数据通道

官方定义:是一个被动的存储,用来保持事件,直到由一个Flume Sink消耗。
通俗定义:连接Source和Sink的通道,Source将Event写入Channel,Sink从Channel中消费Event。本质上是一种存储结构,用来缓冲Source和Sink之间速度不一致的问题,提供中间缓冲存储能力。

d. Sink - 数据汇聚点

官方定义:代表外部数据存放位置。发送flume中的事件到指定的外部目标。
通俗定义:连接到目的地,从Channel中消费Event,并将Event中的数据发送给目的地。
在这里插入图片描述
注:一个Channel能连接多个Source,但只能连接一个Sink(从配置绑定关系中有所体现)

四、Flume的特点

a. 复杂流动:

Flume允许用户进行多级流动到最终目的地,也允许扇出流(一到多)、扇入流(多到一)的流动和故障转移、失败处理。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

b. 可靠性:

事务型的数据传递,保证数据的可靠性。

c. 可恢复:

通道可以以内存或文件的方式实现,内存更快,但是不可恢复,文件比较慢但提供了可恢复性。

五、Flume入门案例

  1. 首先需要通过一个配置文件来配置Agent
    在这里插入图片描述
  2. 通过flume提供的工具启动agent就可以工作了
    在这里插入图片描述
  3. 通过Telnet工具连接Flume发送数据进行测试:控制面板–程序和功能–启用或关闭Windows功能–启动Telnet
    打开控制台–输入 :telnet hadoop01 4444–Ctrl+]–回车–输入数据后回车–flume中就能收到event
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值