2016.6.7

flume是cloudera公司的一款高性能、高可能的分布式日志收集系统。

flume的核心是把数据从数据源收集过来,再送到目的地。为了保证输送一定成功,在送到目的地之前,会先缓存数据,待数据真正到达目的地后,删除自己缓存的数据。

flume传输的数据的基本单位是event,如果是文本文件,通常是一行记录,这也是事务的基本单位。

flume运行的核心是agent。它是一个完整的数据收集工具,含有三个核心组件,分别是source、channel、sink。通过这些组件,event可以从一个地方流向另一个地方,如下图所示。

source可以接收外部源发送过来的数据。不同的source,可以接受不同的数据格式。比如有目录池(spooling directory)数据源,可以监控指定文件夹中的新文件变化,如果目录中有文件产生,就会立刻读取其内容。

channel是一个存储地,接收source的输出,直到有sink消费掉channel中的数据。channel中的数据直到进入到下一个channel中或者进入终端才会被删除。当sink写入失败后,可以自动重启,不会造成数据丢失,因此很可靠。

sink会消费channel中的数据,然后送给外部源或者其他source。如数据可以写入到HDFS或者HBase中。

flume允许多个agent连在一起,形成前后相连的多级跳。

2PC~�e�s�

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 博客原文 翻译作品,水平有限,如有错误,烦请留言指正。原文请见 官网英文文档 引言 概述 Apache Flume...
    rabbitGYK阅读 11,553评论 13 34
  • 介绍 概述 Apache Flume是为有效收集聚合和移动大量来自不同源到中心数据存储而设计的可分布,可靠的,可用...
    ximengchj阅读 3,570评论 0 13
  • Flume1-架构及应用介绍 转载:http://blog.csdn.net/a2011480169/articl...
    raincoffee阅读 336评论 0 0
  • 介绍 概述 Apache Flume是一个分布式的,可靠的,高可用的系统,用于高效地从多个不同的数据源收集,汇总及...
    steanxy阅读 1,109评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,080评论 19 139