Flume架构简介

Posted 电渠小伙儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flume架构简介相关的知识,希望对你有一定的参考价值。

一、Flume的概念

Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。简单来说Flume就是用来收集日志的。


Hadoop简单业务流程


Flume的架构主要有一下几个核心概念:

1、Event:一个数据单元,带有一个可选的消息头。 
2、Flow:Event从源点到达目的点的迁移的抽象。 

3 、Agent:一个独立的Flume进程,包含组件Source、Channel、Sink。

1)、Source:用来消费传递到该组件的Event。 
2)、Channel:中转Event的一个临时存储,保存有Source组件传递过来的Event。 
3)、Sink:从Channel中读取并移除Event,将Event传递到Flow Pipeline中的下一个Agent(如果有的话)或者数据持久化。 

Flume架构简介


二、Flume的运行机制

Flume的核心是agent,agent有两个对外交互的地方,一个是数据输入的source,一个是数据的输出sink。source负责接受数据,并将数据发送到channel,chanel作为数据缓冲区会临时存放这些数据,sink会将channel中的数据发送到指定的地方—-例如HDFS等。


值得注意的是:只有在sink将channel中的数据成功发送出去之后,channel才会将临时数据进行删除,这种机制保证了数据传输的可靠性与安全性。

Flume架构简介


flume还可以支持多级flume的agent,即sink可以将数据写到下一个agent的source中,这样的话就可以连成串了。


flume的source还可以接受多个输入,同时sink也可以将数据输出多个目的地中。


参考:

Flume 1.8.0 User Guide:

http://flume.apache.org/FlumeUserGuide.html



以上是关于Flume架构简介的主要内容,如果未能解决你的问题,请参考以下文章

Flume简介和架构安装配置详解

Flume入门 | 基本概念及架构说明

大数据系列|Flume的架构和环境安装

Flume框架基础

分布式日志收集系统 —— Flume

Flume简介