Flume介绍,特性和架构

1.目的

Apache flume是一种开源数据收集服务及工具,用于将数据从源数据移动到目标数据存储或者中间数据跳点。 在本章中,我们将讨论什么是Apache Flume,Flume的需求是什么,Apache Flume的特性。 

—–add picture here—–

2. Apache Flume介绍

Apache Flume用于从大量不同的 数据源向统一的数据存储(如Hadoop分布式文件系统HDFS)收集,汇总和传输大量的流式数据,例如日志文件,事件日志等。

Flume是一种分布式,可靠的且可配置的数据日志收集工具。 Flume主要是为了从各种Web服务器向HDFS收集流数据(日志数据)而设计的。

3.为什么选择Apache Flume?

设想某公司在多台服务器上运行大量服务,这些服务产生许多数据日志,如果需要对日志进行分析,为了处理日志,需要一个可靠的,可扩展的,可管理的分布式数据收集服务,该服务可以执行非结构化数据日志从一个位置到另一个位置(如HDFS中)的处理。 Apache flume就是可以提供数据收集服务的开源工具,用于将数据从源位置移动到目标位置。

Apache Flume是用于系统地收集,汇总和将大量流式数据日志移动到Hadoop分布式文件系统(HDFS)中的最可靠,分布式和可配置的服务。基于流式数据流,它具有简单而灵活的架构。它具有高度的容错能力和强大的可靠性以及故障切换和恢复的可调机制。 Flume允许批量以及流模式下的数据收集。

4. Apache Flume 的特点

Flume的一些突出特点如下:

从多台服务器收集日志数据,并将其高效地导入到分布式存储(HDFS,HBase)中;

在Flume的帮助下,可以实时以批处理模式从多个服务器收集数据;

社交媒体网站(如Facebook和Twitter)和各种电子商务网站(如亚马逊和Flipkart)生成的大量事件数据也可以实时轻松导入和分析;

Flume可以从大量来源收集数据并将其移至多个目的地;

Flume支持Multi-hop 流程, fan-in fan-out 流程, 以及contextual routing;

Flume可以水平扩展。

5. Apache Flume架构

Flume的各种组件如下: 

Event:通过Flume 传输的单个数据记录条目被称为Event。

Source:Source监听事件并将它们写入一个或多个通道的组件。它是数据进入Flume的主要组件。它从各种来源收集数据,如exec,avro,JMS,spool directory等。

Sink:Sink从通道中移除事件并将数据传递到目标或下一个跳点的组件。有多个Sink可将数据传送到各种目的地。例如:HDFS,HBase,logger,null,file等;

Channel:它是Source和Sink之间的一个通道,事件被Source添加到Channel中,Sink 负责转递数据到各种目的地;

Agent:Agent是Flume运行的Java虚拟机。它由Source,sink,channel和其他重要组成部分组成,通过这些组成部分,事件从一个地方转移到另一个地方;

Client:事件由Client生成并发送给一个或多个Agent。

 

Flume介绍,特性和架构

发表评论

邮箱地址不会被公开。 必填项已用*标注

60 − = 五十 二

滚动到顶部