Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力
Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX
tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。
其中,收集数据有2种主要工作模式,如下:
Push
Sources:外部系统会主动地将数据推送到Flume中,如RPC、syslog。
Polling
Sources:Flume到外部系统中获取数据,一般使用轮询的方式,如text和exec。
Flume的数据接受方,可以是console(控制台)、text(文件)、dfs(HDFS文件)、RPC(Thrift-RPC)和syslogTCP(TCP
syslog日志系统)等。
source和sink对应。Source和sink强调发送、接受方的特性(如数据格式、编码等)
agent和collector关注功能。
Flume采用了多Master的方式。为了保证配置数据的一致性,Flume引入了ZooKeeper,用于保存配置数据,ZooKeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,ZooKeeper可以通知Flume
Master节点。
Flume Master间使用gossip协议同步数据。
下面简要分析Flume如何支持Reliability、Scalability、Manageability和Extensibility。
Reliability:Flume提供3中数据可靠性选项,包括End-to-end、Store on
failure和Best effort。其中End-to-end使用了磁盘日志和接受端Ack的方式,保证Flume接受到的数据会最终到达目的。Store on
failure在目的不可用的时候,数据会保持在本地硬盘。和End-to-end不同的是,如果是进程出现问题,Store on
failure可能会丢失部分数据。Best effort不做任何QoS保证。
Scalability:Flume的3大组件:collector、master和storage
tier都是可伸缩的。需要注意的是,Flume中对事件的处理不需要带状态,它的Scalability可以很容易实现。
Manageability:Flume利用ZooKeeper和gossip,保证配置数据的一致性、高可用。同时,多Master,保证Master可以管理大量的节点。
Extensibility:基于Java,用户可以为Flume添加各种新的功能,如通过继承Source,用户可以实现自己的数据接入方式,实现Sink的子类,用户可以将数据写往特定目标,同时,通过SinkDecorator,用户可以对数据进行一定的预处理。
外部博客:
分享到:
相关推荐
1. Flume Event(Flume事件):这是Flume传输的基本数据单位,它包含两个主要部分,一个是有效负载(payload),这是实际存储数据的字节流;另外一个是可选的头部(headers),这是一组键值对形式的字符串属性集,...
1. **Agent**: Flume的核心单元是Agent,它是一个独立的Java进程,负责数据的收集、处理和转发。每个Agent由三个主要部分组成:Source、Channel和Sink。 - **Source**: 源,用于接收来自各种数据源的数据,如Web...
Flume 的数据流模型基于事件(event)的概念,每个事件包含一个字节数据负载和可选的字符串属性集合。Flume 代理(agent)是一个运行在Java虚拟机(JVM)上的进程,它承载了使事件从外部源流动到下一个目标的组件。 *...
总结来说,Flume是大数据领域的重要工具,它提供了简单而强大的方式来处理和传输日志数据,是构建大数据基础设施不可或缺的一部分。通过理解Flume的基本概念、组件功能以及安装部署方法,开发者可以有效地整合和管理...
IT十八掌第三期配套课堂笔记! 1、安装和执行机制的分析 2、操作引入 3、常见工具对比 4、flume起源 5、flume概念 6、flume简介和实际应用操作 7、flume的几种配置 8、知识点的总结
总结,Apache Flume 是一个强大的工具,用于管理和处理大规模的日志数据。通过正确安装、配置和使用 Flume,可以实现高效的数据流动和处理,这对于大数据分析和实时监控至关重要。理解 Flume 的基本概念、配置以及...
1. **Flume Agent配置**:Flume配置文件(通常是conf/flume.conf)是定义agent行为的关键。为了实现断点续传,我们需要配置Source、Sink和Channel。其中,Source是数据的提供者,Sink是数据的接收者,而Channel作为...
总结,"flume1.8文档中文完整翻译版"提供了对Flume 1.8版本全面深入的介绍,涵盖了从基础概念到高级特性的方方面面。通过这份文档,用户可以学习如何配置和管理Flume Agent,构建高效的数据流处理管道,并了解其在...
Flume的核心概念包括源头(Source)、通道(Channel)和接收器(Sink)。源头负责从不同数据源抓取数据,通道作为临时存储,保证数据在传输过程中的可靠性,而接收器则负责将数据发送到目标存储系统。在Flume 1.6中...
在面试中,掌握 Flume 的核心概念和技术细节至关重要。 1. **Flume 基础架构**: - **Agent**:Flume 的核心组件,是一个运行在 JVM 进程中的服务,它以事务方式从源(source)获取数据并将其传输到目标(sink)。...
1. **解压Flume包**:使用命令`tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /opt/module/`将Flume压缩包解压到指定目录(这里假设解压到`/opt/module/`)。 2. **配置环境变量**: - 进入Flume的配置文件目录:`...
通过对Flume的基本概念、工作原理及配置方法的了解,可以帮助我们更好地利用Flume来构建高效稳定的数据收集平台。同时,结合Flume提供的各种高级特性,我们可以进一步提升系统的灵活性和可靠性,满足更多复杂场景的...
Flume的核心概念包括源(Sources)、通道(Channels)和接收器(Sinks)。源负责从不同的数据生成器获取数据,例如Web服务器的日志文件或社交媒体流。通道则作为一个临时存储,确保数据在传输过程中的可靠性,即使在...
总结来说,`apache-flume-1.8.0-src.tar.gz`是一个包含Flume 1.8.0版本完整源代码的压缩包,它为开发者提供了深入了解和定制Flume的机会,有助于构建高效、稳定的数据收集和传输解决方案。通过深入学习和应用这些...
本笔记将深入探讨Flume的核心概念、配置和实际应用。 **一、Flume概述** Flume 主要由三个基本组件构成:Sources、Channels 和 Sinks。Sources 负责从不同数据源获取数据,Channels 用于临时存储数据,而 Sinks 则...
总结来说,Apache Flume 1.8.0 是一个强大的日志收集工具,具备可扩展性和灵活性,适用于大数据环境下的日志管理和实时分析。其主要功能包括数据源的多样化、可靠的通道存储和多样的数据目标。通过合理配置,Flume ...
在文档部分中提到的“架构”是一个关键的知识点,它包括了从旧版Flume(FlumeOG)继承和巩固的一些概念,以及通过引入新的特性来简化架构。FlumeNG的高阶架构通过一系列的注释、图表、概览和数据传输语义来详细阐述...
本文将深入探讨`flume-ng-1.5.0-cdh5.3.6.tar.gz`压缩包中的核心概念、配置方法及实际应用。 **Flume NG简介** Flume NG是Flume的升级版,它引入了新的架构,增强了可扩展性和灵活性。Flume NG的主要任务是收集、...