01-Flume的简介

Flume的简介

大数据的处理流程

  • 1.数据采集
  • 2数据存储
  • 3.数据清洗
  • 4.数据分析
  • 5.数据展示

在这里插入图片描述

Flume的简介

Fume是一种分布式的,可靠的、高可用的服务,用于有效地收集,聚合和移动大量日志数据。它具有基于流数据流的简单灵活的体系结构。它具有可调整的可靠性机制以及许多故障转移和恢复机制,具有强大的功能和容错能力。它使用一个简单的可扩展数据横型,允许在线分析应用程序。

flume 最开始是由cloudera开发的实时日志收集系统,受到了业界的认可与广泛应用。但随着flume功能的扩展,flume的代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点渐渐暴露出来,尤其是在发行版本0.9.4中,日志传输不稳定的现象尤为严重。
为了解决这些问题,2011年10月22号,cloudera对Flume进行了里程碑式的改动:重构核心组件、核心配置以及代码架构,并将Fume纳入apache旗下,从cloudera Flume改名为Apache Flume,

版本区别

为了与之前版本区分开,重构后的版本统称为Flume NG (next generation),重构前的版本被统称为Flume OG (original generation) , Flume目前只有Linux系统的启动脚本。没有Windows环境的启动脚本。

Flume的体系结构

Fume运行的核心是Agent。Fune是以lagent为最小的独立运行单位。一个agent就是一个VM。它是一个完整的数据收集工具,含有三个核心组件,分别是source,channel、sink通过这些组件, Event可以从一个地方流向另一个地方。如下图所示:

在这里插入图片描述

组件及其作用

- Client:
	客户端,Client生产数据,运行在一个独立的线程中

- Event:
	一个数据单元,消息头和消息体组成。(Events可以是日志记录、 avro 对象等。)

- Flow:
	Event从源点到达目的点的迁移的抽象。

- Agent:
	一个独立的Flume进程,运行在JVM中,包含组件Source、Channel、Sink。每台机器运行一个agent,但是一个agent中可以包含多个sources和sinks。

- Source:
	数据收集组件。source从Client收集数据,传递给Channel

- Channel:
	管道,负责接收source端的数据,然后将数据推送到sink端。

- Sink:
	负责从channel端拉取数据,并将其推送到持久化系统或者是下一个Agent。

- selector:
	选择器,作用于source端,然后决定数据发往哪个目标。

- interceptor:
	拦截器,flume允许使用拦截器拦截数据。允许使用拦截器链,作用于source和sink阶段。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值