`
邢邢色色
  • 浏览: 229942 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Flume架构设计

阅读更多

我们的架构设计的思路跟美团大同小异,也是分为agent层,collector层和store层。

具体可参考美团架构1美团架构2,下面只是一些补充:


下面是我们自己的架构图:

总体架构


数据流图

下面的图描述一条日志消息从客户端产生,经过了怎样的过程最终被消费的。



架构说明

美团的文档中已对这个架构的优越性进行了说明,比如可用性,可靠性和可扩展性,这里就不赘述了。

美团自己在Flume的基础做了一些改进和优化,总结如下:

  • 美团的各个Flume节点统一使用了dual channel,美团并没有开源。但官方提供了实现类似功能的spillable-memory-channel,但这只是实验版本,并不推荐在生产环境中使用。
  • 美团使用的HDFS Sink做了一些优化,比如设置了一个开关,如果HDFS集群维护时关掉;b/m/s优化减少HDFS的压力;自动创建压缩索引等。我们使用的官方HDFS sink则没有这些功能。

在我们实际使用的过程中酌情考虑这些优化。


其他说明

  • 在API中还增加了一个嵌入式的模式,就是说把agent层的Flume进程嵌入到了应用程序进程,这样是为了方便测试,这样在测试阶段就不需要在本地再部署一个Flume进程了。
  • 关于对Flume整套系统的监控和报警(接入Zabbix)和性能测试以及各种异常测试在另外的文章叙述。
  • 客户端简单封装下即可。此处暂时不介绍了~

后续会有部署指南和API封装等方面的相关介绍。

  • 大小: 66.1 KB
  • 大小: 114.2 KB
1
1
分享到:
评论

相关推荐

    Flume 基础架构.pptx )

    Source 组件是Flume架构中的第一个组成部分,它负责从各种数据源收集数据。Flume 提供了多种类型的 Source 来适应不同的应用场景: - **Avro Source**:允许通过 Avro 协议远程提交事件。 - **Exec Source**:执行...

    基于Flume的分布式日志采集分析系统设计与实现.pdf

    基于Flume的分布式日志采集分析系统设计与实现 Flume是一种分布式日志采集系统,可以实时地采集和处理大量日志数据。该系统基于Flume、Elasticsearch和Kibana等技术手段,能够对海量日志数据进行实时采集、处理和...

    Flume集群环境搭建,flume监控

    - **池伟的博客:** 池伟先生在CSDN上发表了多篇关于Flume的详细教程和经验分享,如链接所示,这些文章详细讲解了Flume的安装配置、架构设计以及使用中碰到的问题和解决方案。 ### 知识点总结: 1. **Flume发展历史...

    Flume架构以及应用介绍

    在 Flume 架构中,核心概念是 Agent。Agent 是一个 Java 进程,部署在需要收集日志的服务器上,由三个关键组件构成:Source、Channel 和 Sink。 1. **Source**:Source 负责从各种数据源(如 syslog、tail、HTTP 等...

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

    #### 2.1 Flume架构组件 Flume的核心组件包括Agent、Source、Channel和Sink。 - **Agent**:是Flume中的JVM进程,负责从源头收集数据并将其传递到目的地。每个Agent包含三个主要组成部分:Source、Channel和Sink。 ...

    Flume学习文档

    在学习Flume之前,首先应该了解其核心概念和架构设计。 Flume的初始版本称为FlumeOG,它为日志收集提供了基础支持,但由于代码架构等问题,Cloudera推出了重构后的FlumeNG版本,后者解决了FlumeOG的缺陷,并提升了...

    flume自学手册

    ### Flume自学手册 #### 一、Flume简介 Flume是Cloudera提供的一款开源、分布式的日志收集系统,具有高度可靠的...以上是对Flume架构及使用方法的一个详细介绍,希望能够帮助大家更好地理解和掌握Flume的相关知识。

    using flume pdf

    1. **Flume架构**: Flume由代理(Agent)、源(Source)、通道(Channel)和接收器(Sink)组成。代理是Flume的基本工作单元,负责配置和运行源、通道和接收器。源负责从数据源获取数据,通道作为临时存储,而接收器...

    Flume笔记.zip

    - Flume 的架构基于事件驱动,每个事件包含一个数据块和元数据。 2. **Flume 组件** - **源(Source)**:数据的生产者,负责从各种来源(如服务器日志、网络套接字、Kafka 等)接收数据。 - **通道(Channel)*...

    flume用户手册

    对于版本1.4.x的用户,本手册提供安装和配置的指南,其中也会包括Flume架构和设计概念的介绍。手册还介绍了在生产环境中高效使用Flume所需的最佳实践。 Flume代理由三个主要组件构成: - Source:这是事件进入代理...

    flume安装程序

    Flume通过简单而灵活的架构实现了数据的高效传输,允许数据源、数据通道和数据接收器之间的动态配置。 在本安装指南中,我们将深入探讨如何使用提供的`flume-1.6.0-bin.tar`安装包来安装和配置Apache Flume。 1. *...

    Flume解析和应用

    ### Flume解析和应用 #### 一、Flume概述 Flume是由Cloudera开发的一款分布式、可靠...以上内容涵盖了Flume的基础概念、架构设计、安装配置以及一些典型的应用场景,希望能帮助读者更好地理解和掌握Flume的相关知识。

    flume安装包

    在大数据领域,Flume 作为数据流管理工具,它设计的目标是高效、可靠地聚集和传输大量日志数据。Flume 的架构基于分布式系统,能够保证数据的高可用性和容错性。 标题中的"flume安装包"指的是Flume的安装文件,通常...

    47_Flume、Logstash、Filebeat调研报告

    Flume是Apache Hadoop项目的一部分,专门设计用于高效地收集、聚合和移动大规模日志数据。它的核心架构基于事件流,具备分布式、高可靠性和高可用性。Flume通过agent来实现数据采集,每个agent包含source、sink和...

    尚硅谷大数据技术之Flume笔记1

    - **Flume架构**:Flume主要由Agent构成,每个Agent包含Source、Channel和Sink三个核心组件。 - **Source**:Source是数据输入端,能够处理多种格式的日志数据,如avro、thrift、exec等。 - **Sink**:Sink是数据...

    apache-flume-1.9.0-bin.tar.zip

    在Flume的架构中,数据流动通过三个核心概念:源头(Sources)、通道(Channels)和接收器(Sinks)。这些组件协同工作,确保数据的高效传输。 1. **源头(Sources)**:源头是Flume的数据输入端,负责从各种数据源...

    实战Flume基础

    Flume架构中的组件包括Agent、Client、Source、Channel和Sink。Agent是Flume的运行实体,每台机器上可以有一个或多个Agent,每个Agent中可以包含多个Source或Sink。Client负责产生Event,并通过Source接收Event。...

Global site tag (gtag.js) - Google Analytics