您的位置:首页 > 运维架构

Flume原理

2016-02-15 16:06 176 查看
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中的数据才会被删除。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop flume