`

Flume NG 架构

 
阅读更多

介绍

 

     Apache的Flume是一个分布式的,质量可靠,可有效地收集,汇总和来自许多不同来源的大量日志数据到集中的数据存储系统。目前,Flume是在Apache项目孵化。

 

架构

 

     数据流模型

 

     Flume事件被定义为一个数据流的单位,有一个字节的有效载荷和一个可选字符串属性。Flume Agent是一个(JVM进程,连接数据源及数据源的下一个目的地。

 

     Flume处理Web服务器的外部源的事件。外部源发送事件按照Flume源可以识别的格式。 例如:Avror的Flume 源,可以用来接收Avro的客户端或Flume代理。当Flume源接收到一个事件,它存储到一个或多个通道。通道是一个被动的存储,直到被Flume Sink处理。 JDBC的通道就是一个例子 - 它使用文件系统支持数据库。Sink从通道获得事件 ,放到像HDFS的外部库(通过Flume HDFS Sink)或转发到下Flume代理(下一跳)。在代理内部,Source与Sink异步传输通过通道。

 

     复杂流

 

     Flume到达最终目的地之前,允许用户建立多跳流活动,通过多个代理。它还允许扇入和扇出流量,内容路由和备份路由以防失败(故障转移)。

 

     可靠性

 

     在每个代理中都会存在事件,事件在通道中。事件在流中存在,然后传送到下一个代理或终端库(如HDFS)。只有在下一个代理通道或终端库存储才从通道中删除事件。这是一个单跳消息传递语义在Flume中提供端至端的流的可靠性。Flume使用事务的方式,以保证可靠的交付事件。源和Sink的封装在一个事务中存储/检索,分别放置在通道中。这将确保事件集可靠地传递从点到点。在一个多跳的流中,前一跳及源的下一跳的情况下都有其事物的运行,以确保数据的安全存储通道。


    可恢复

    事件存储在通道中,可以从失败中恢复。Flume支持持久的JDBC通道,这是一个关系数据库支持。还有一个内存通道,它只是存储在内存中的队列,这使得速度更快,但仍留在内存通道不能恢复。

 

 

 

 

 


分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Flume-ng资料合集

    由原来的Flume OG到现在的Flume NG,进行了架构重构,并且现在NG版本完全不兼容原来的OG版本。经过架构重构后,Flume NG更像是一个轻量的小工具,非常简单,容易适应各种方式日志收集,并支持failover和负载均衡。

    Kafka+FlumeNG+Storm+HBase构架设计

    Kafka+FlumeNG+Storm+HBase构架设计

    高可用Hadoop平台-FlumeNG实战图解篇

    FlumeNG采用的是三层架构:Agent层,Collector层和Store层,每一层均可水平拓展。其中Agent包含Source,Channel和Sink,三者组建了一个Agent。三者的职责如下所示:下图是FlumeNG的架构图,如下所示:图中描述了,从

    flume-ng-kafka-sink:将数据发布到 Apache Kafka 的 Apache Flume Sink 实现

    Flume-NG-Kafka-Sink 这是一个 Sink 实现,可以将数据发布到主题。 目标是将 Flume 与 Kafka 集成,以便基于拉式的处理系统(如可以处理来自各种 Flume 源(如 Syslog)的数据。 这现在是官方 Flume 发行版(从 v...

    大数据架构:flume-ng+Kafka+Storm+HDFS实时系统组合

    直以来都想接触Storm实时计算这块的东西,最近在群里看到上海一哥们罗宝写的Flume+Kafka+Storm的实时日志流系统的搭建文档,自己也跟着整了一遍,之前罗宝的文章中有一些要注意点没提到的,以后一些写错的点,在这边...

    flume-ng+Kafka+Storm+HDFS实时系统组合

    5.使用什么脚本可以查看flume有没有往Kafka传输数据做软件开发的都知道模块化思想,这样设计的原因有两方面:一方面是可以模块化,功能划分更加清晰,从“数据采集--数据接入--流失计算--数据输出

    Flume学习资料.zip

    根据日志收集系统架构,各服务器端日志主要通过Apache Flume发送至Kafka集群的各个Topic,Kafka针对各个业务日志的计算需求转发至各consumer进行数据处理。 Flume-NG的简单模型如下,主要包括Source、Channel、Sink...

    大数据中台架构栈.doc

    该实时处理系统整体架构如下:通过将 Agent 部署在 Web 效劳器,一旦发生新增的日志数据,就会被 Flume 程序监听到,并且最终会传输到 Kafka 的 Topic 中,再进行后续的一系列操作。 1.3 数据传输 Kafka Kafka 最初...

    word源码java-sparkstreaming:SparkStreaming实时流处理项目实战

    word源码java [TOC] 第1章 课程介绍 Spark版本升级 第2章 初识实时流处理 一、业务现状分析 二、离线与实时对比 三、框架对比 四、架构与技术选型 ...分布式日志收集框架Flume ...flume-ng-1.6.0-cdh5.7.0.tar.gz -C ~/app

    基于javatcpsocket通信的拆包和装包源码-logpipe:分发日志收集器

    开源主流解决方案是基于flume-ng,但在实际使用中发现flume-ng存在诸多问题,比如flume-ng的spoolDir采集器只能对文件名转档后的大小不能变化的最终日志文件进行采集,不能满足采集时效性要求,如果要采集正在被不断...

Global site tag (gtag.js) - Google Analytics