摘要: 下图说明了Flume的基本架构。正如图中所示,数据生成器(如Facebook,Twitter等)产生它获取由个体水槽收集的数据代理在其上运行。此后,数据收集器(这也是一个代理)收集从其中被聚合并推入集中存储诸如HDFS或 ...
下图说明了Flume的基本架构。正如图中所示,数据生成器(如Facebook,Twitter等)产生它获取由个体水槽收集的数据代理在其上运行。此后,数据收集器(这也是一个代理)收集从其中被聚合并推入集中存储诸如HDFS或HBase的药剂中的数据。
Flume事件
一个事件是内部传送的数据的基本单元水槽。它包含要从源传输到目的地的字节数组的有效载荷,伴随可选的报头。典型的Flume事件将具有以下结构-
水槽剂
一个代理是一个独立的守护进程(JVM)的水槽。它从客户端或其他代理接收数据(事件),并将其转发到其下一个目标(宿或代理)。水槽可以具有多于一种的剂。下图表示水槽代理
如在图中所示的水槽代理包含三个主要部件,即,源,信道,和接收器。
资源
一个源是从数据生成器,并将其传送接收数据到一个或多个通道在水槽事件的形式代理的组件。
ApacheFlume支持多种类型的源,每个源从指定的数据生成器接收事件。
示例-Avro的来源,储蓄来源,Twitter的1%等。源
渠道
一个渠道是从源接收的事件和缓冲他们,直到他们被消耗汇一过店。它作为源和汇之间的桥梁。
这些通道是完全事务性的,它们可以与任何数量的源和汇工作。
示例-JDBC通道,文件系统的通道,内存通道等。
水槽
一个水槽将数据存储到HBase的喜欢和HDFS集中存储。它消耗通道中的数据(事件),并将其传递到目标。宿的目的地可以是另一代理或中央存储。
示例-沉HDFS
注-水槽剂可以有多个源,汇和渠道。我们在本教程的Flume配置章节中列出了所有支持的源,接收器和通道。
沐浴剂的附加组分
我们上面讨论的是代理的原始组件。除此之外,我们还有一些组件在将事件从数据生成器传输到集中式存储时发挥着至关重要的作用。
***
***用于改变/检查在源和通道之间传输的水槽事件。
通道选择器
这些用于确定在多个通道的情况下哪个通道被选择传输数据。有两种类型的通道选择器-
缺省信道选择器?-这些也被称为复制通道选择他们复制在每个通道中的所有事件。
复用信道选择器?-这些决定发送基于该事件的报头的地址的事件的通道。
水槽处理器
这些用于从所选的一组汇中调用特定的汇。这些用于为通道的多个汇创建汇点或负载平衡事件的故障转移路径。
|