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中的数据才会被删除。
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中的数据才会被删除。
相关文章推荐
- 详解HDFS Short Circuit Local Reads
- Hadoop_2.1.0 MapReduce序列图
- 使用Hadoop搭建现代电信企业架构
- 单机版搭建Hadoop环境图文教程详解
- hadoop常见错误以及处理方法详解
- hadoop 单机安装配置教程
- hadoop的hdfs文件操作实现上传文件到hdfs
- hadoop实现grep示例分享
- Flume环境部署和配置详解及案例大全
- Apache Hadoop版本详解
- linux下搭建hadoop环境步骤分享
- hadoop client与datanode的通信协议分析
- hadoop中一些常用的命令介绍
- Hadoop单机版和全分布式(集群)安装
- 用PHP和Shell写Hadoop的MapReduce程序
- hadoop map-reduce中的文件并发操作
- Hadoop1.2中配置伪分布式的实例
- java结合HADOOP集群文件上传下载
- 让python在hadoop上跑起来
- 用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试