Flume原理

来源:互联网 发布:杉帝网络 编辑:程序博客网 时间:2024/05/02 00:30

Flume介绍

Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发方,

用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能。


Flume采用了分层架构:分别为agent,collector和storage。其中,agent和collector均由两部分

组成:source和sink,source是数据来源,sink是数据去向。


下图 是他的逻辑架构: 


其中:
agent的作用是将数据源的数据发送给collector。

collector的作用是将多个agent的数据汇总后,加载到storage中。

storage是存储系统,可以是一个普通file,也可以是HDFS,HIVE,HBase,分布式存储等。

Master是管理协调agent和collector的配置等信息,是flume集群的控制器。



Flume使用两个组件:

Master和Node,Node根据在Master shell或web中动态配置,决定其是作为Agent还是Collector。


agent逻辑理解:

Flume既然是一个收集系统,那么就需要有来源和去处 

这就有了source(来源) 和 sink(存储的目的地) 的概念。



此外, 如果只有source和sink,那么就要面临着网络传输失败,信息丢失的风险,

于是就有了 channel(通道)的概念 : 只有当临时存放在channal中的数据成功传输

到sink后, channel中的数据才会被删除。


0 0