Flume 简介

Flume 是 Cloudera提供的一个高可用、高可靠的分布式海量日志采集、聚合及传输的系统,它是一种基于流式数据流的简单易用的架构,具体架构图如下,

这里写图片描述

Flume有两个主要版本-Flume OG和Flume NG。Flume OG(original generation)是Flume的初始版本,属于Cloudera,但随着功能扩展,Flume OG代码工程臃肿,核心组件设计不合理等缺点暴露出来,为解决这些问题,Cloudera对Flume进行了重构,重构后的版本统称为Flume NG(next generation),改动的另一个原因是将Flume纳入Apache下,cloudera Flume改名为Apache Flume。上面的架构图其实是Flume NG的架构图~

下面介绍Flume(Flume-NG)中几个基本概念,

1 Event - Flume中数据传输的基本单元,Flume以事件的形式将数据从源头传送到最终目的。Event由一个字节类型的主体(payload)和一些可选的属性(headers)组成。Event可以是日志数据,avro对象等格式。

2 Agent - Agent是一个JVM进程,其中包含Source、Channel、Sink和其他组件,它利用这些组件将Event从一个节点传输到另一个节点或最终目的。每个节点一个Agent,但一个Agent中可以包含多个Source和Sink。Agent是Flume最小的独立运行单元。

3 Source - Source负责接收Event,并将Event批量的放到一个或多个Channel,有Event驱动或轮询2种类型的Source。

4 Channel - Channel位于Source和Sink之间,用于缓存进来的Event,当Sink成功将Event发送到下一跳的Channel或最终目的,Event从Channel中移除。

5 Sink - Sink负责将Event传输到下一跳或最终目的,成功后Event将从Channel中移除。

6 Client - 生产数据。

Flume提供大量内置的Source、Channel和Sink,不同的类型可以自由组合,组合方式基于用户配置的Flume配置文件,非常灵活。下图是一种可能的配置,具体有哪些内置的Soure、Channel和Sink,可参考官方文档:http://flume.apache.org/FlumeUserGuide.html

这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据源的港湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值