Apache Flume架构 – Flume Agent,Event,Client

1. Apache Flume架构

在本章中,将学习Apache Flume体系结构并理解Flume体系结构的每个组件:Flume Event,Flume Agent和Flume Client。 此外,将讨论Flume的组件:Flume Source,Flume Channel Selector和Flume Sink Processors。

—–add picture here—-

2.什么是Flume

Apache flume是用来将服务器上将日志文件传输到HDFS的工具。 是一个高度可靠,分布式和可配置的流式数据收集工具。

下面来详细讨论Flume Architecture及其组件:

1542615826415938.png

Introduction – Apache Flume Architecture

3. Apache Flume架构

请看下面图片,这里的数据生成器(如Facebook,Twitter)生成的数据由运行在其上的各个Flume Agent收集。 之后,另一个Agent是数据收集器,它收集来自其他的Agents的所有数据, 然后将其存储目标存储系统, 如HDFS或Hbase。

1542615905476714.png

Apache Flume Architecture

Flume Event

在Flume内部传输的数据的基本单位就是Event。 它包含字节数组的PayLoad。可以通过Header将信息从输出源传输到目的地。 请参考下图的Flume Event结构。

1542616147970335.png

Flume Architecture – Flume Event

Flume Agent

 在Apache Flume中,Agent是一个独立的JVM守护进程。 它接收来自Client或其他Agent的Event。 之后,将它转发到下一个目标地点,如Sink或Agent。 注意,Flume可以有多个Agent。 参考下面的图片来了解Flume Agent。

1542616229295628.png

Apache Flume Architecture – Flume Agent

Agent包含三个主要组件: Source,Channel和 Sink。

Flume Source

Flume Source从数据生成器接收数据。 然后将数据作为Flume Event传输到一个或多个Channel。

Apache Flume支持各种类型的Source。每个source接收来自指定数据生成器的Event。

如Avro source,Thrift source,twitter source等

Flume Channel

用来从Source接收Event的临时存储,并且缓存Event直到它们被Sink 取走,它充当了Flume中 source和 sink之间的桥梁。

如JDBC通道,文件系统通道,内存通道等。

Flume Sink

Sink用来将数据存储到Hbase或HDFS等目的存储中或下一个Agent,它消耗来自Channel的Event,然后将其传送到目的地, Sink的目的地可以是另一个Agent或存储系统,如Hbase和HDFS。

如HDFS Sink,另外,需要注意的是,Agent可以有许多数量的 Source,Channel和 Sink。

Flume Client

生成Event然后将其发送给一个或多个Agent。

4. Flume Agent的附加组件

上面介绍的组件都是Apache Flume Agent的基本组件。还有一些组件在Flume event从数据生成器传输到目的存储中起着至关重要的作用。

Apache Flume Interceptors

通过Interceptors,可以改变/检查Source和Channel之间传输的Flume Event.

Channel Selectors

为了确定在多通道 (Channel)的情况下应该选择传送数据的通道,我们使用Channel Selectors。Channel Selectors通常有两种类型:

默认通道选择器 – 复制每个通道中所有Event的Channel Selectors;

Multiplexing channel selectors – 根据该Event Header中的地址决定发送Event的通道;

Sink Processors

通常 Sink Processor 用来调用特定 Sink。此外,还可用来在sink中创建故障转移路径或负载平衡event等。

Apache Flume架构 – Flume Agent,Event,Client

发表评论

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

95 − = 八十 九

滚动到顶部