`

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 share

    Flume NG 的架构主要由三个核心组件组成: 1. **Source**(源):负责从外部系统收集数据,并将其送入 Channel 中。 2. **Channel**(通道):作为所有数据的中转站,存储从 Source 收集的数据直到 Sink 处理。 3. ...

    Flume-ng资料合集

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

    FLUME-FlumeNG-210517-1655-5858

    总结来说,文档提供了关于FlumeNG的深度信息,从架构到关键特性,再到常见用例和存在的问题,这些知识点都是理解和使用FlumeNG的重要基础。通过文档,用户可以获取到有关FlumeNG如何改进原有版本的详细信息,并了解...

    mvn flume ng sdk

    Flume NG是其新版本,相比旧版(Flume Classic)提供了更灵活的架构和更丰富的功能。 Flume NG SDK包含了Flume的开发库和相关依赖,使得开发者可以创建自定义的Flume Source、Sink和Channel,这些组件是Flume数据流...

    flume-ng-sql-source-1.5.2

    - **架构**:Flume由三个主要组件构成:Sources、Channels和Sinks。Sources负责数据的摄入,Channels作为临时存储,Sinks负责将数据传输到目的地。 - **可靠性**:通过使用可配置的持久化Channels(如File Channel...

    flume-ng-sql-source-release-1.5.2.zip

    而"ng"(next generation)在Flume的上下文中,指的是Flume的第二个主要版本,它引入了新的架构和改进,以提升性能和灵活性。 Flume-ng-sql-source插件是Flume中的一个数据源类型,它允许用户通过自定义SQL查询来...

    大数据平台-Flume培训

    Flume NG架构的设计使得其具有高度灵活性和容错性。Source能够以不同的方式接收数据,Channel提供了一种安全的数据存储机制,而Sink则负责将数据有效地传送到目的地。尤其值得一提的是,File Channel提供了数据持久...

    Flume解析和应用

    #### 四、Flume NG 架构 Flume NG的核心组件包括Source、Channel和Sink,它们共同构成了数据从源头到目的地的传输路径。 - **Source**:数据的来源,例如Web服务器日志、数据库记录等。 - **Channel**:临时存储...

    flume-ng-1.5.0-cdh5.3.6.tar.gz

    Flume NG是Flume的升级版,它引入了新的架构,增强了可扩展性和灵活性。Flume NG的主要任务是收集、聚合和传输各种来源的日志数据,例如Web服务器的访问日志、应用程序的日志输出等,将这些数据流式传输到Hadoop的...

    flume-ng-1.6.0-cdh5.10.1.tar.gz的下载

    Apache Flume 是一个分布式、可靠且可用的服务,用于有效地收集、聚合和移动大量日志数据。在大数据领域,它常被用于收集来自不...通过其灵活的架构和丰富的功能,Flume使得日志数据的管理和分析变得更加简单和高效。

    flume-ng-sql-source

    Flume-ng(Next Generation)是Flume的更新版本,提供更现代的架构和增强的功能。在这个场景中,"ng-sql-source"是一个定制的数据源,它特别设计用来高效地从Oracle数据库中提取数据,并将其实时地发送到Kafka。 **...

    Kafka+FlumeNG+Storm+HBase构架设计

    ### Kafka+FlumeNG+Storm+HBase 架构设计详解 #### 一、概述 在当前的大数据处理场景下,构建一个既能处理历史数据又能实时处理新增数据的架构至关重要。本文将详细介绍如何利用Kafka、FlumeNG、Storm与HBase搭建...

    flume-ng-sql-source-1.4.3.jar

    1. **Flume NG 概述**:Flume NG 是 Flume 的新版本,与旧版相比,它提供了更灵活的架构和更好的可扩展性。NG 版本引入了 Channel 和 Sink Processor 等概念,使得数据流动更加可控,同时支持多种数据源和目的地。 ...

    flume-ng文档.doc

    **架构** Flume 的数据流模型基于事件(event)的概念,每个事件包含一个字节数据负载和可选的字符串属性集合。Flume 代理(agent)是一个运行在Java虚拟机(JVM)上的进程,它承载了使事件从外部源流动到下一个目标的...

    Flume最佳实践手册

    从FlumeOG发展到现在的FlumeNG,其架构进行了重构,新版本完全不兼容旧版。Flume使用Java编写,需要Java 1.6或更高版本才能运行。FlumeNG的版本1.6是Cloudera版本,它更像一个轻量级工具,简便易用,支持故障转移...

    Flume学习文档

    Flume的初始版本称为FlumeOG,它为日志收集提供了基础支持,但由于代码架构等问题,Cloudera推出了重构后的FlumeNG版本,后者解决了FlumeOG的缺陷,并提升了系统性能和可维护性。FlumeOG的设计目标着重于可靠性、可...

    Flume集群环境搭建,flume监控

    Flume从1.5.0版本开始,重构了其内部架构,核心组件、配置以及代码架构都进行了重大改动,这个新版本被称为Flume NG(Next Generation),即Flume的新一代版本,用以替代了原来的Flume OG(Original Generation)。...

    Flume学习文档(1){Flume基本概念、Flume事件概念与原理}.docx

    FlumeNG相比FlumeOG进行了代码精简和架构优化,更符合现代大数据处理的要求,建议使用FlumeNG。 #### 1.4 主要作用 Flume主要用于实时地读取服务器本地磁盘上的数据,并将其写入到Hadoop的分布式文件系统(HDFS)中...

Global site tag (gtag.js) - Google Analytics