美文网首页
Flume | Flume NG架构

Flume | Flume NG架构

作者: icebreakeros | 来源:发表于2019-07-05 11:35 被阅读0次

    flume ng架构

    flume ng架构

    event

    eventflume数据传输的基本单元
    flume以事件的形式将数据从源头传送到最终的目的
    event由可选的header和载有数据的一个byte array构成

    client

    client是一个将原始log包装成events并且发送它们到一个或多个agent的实体。
    目的是从数据源系统中解耦flume
    flume的拓扑结构中不是必须的

    agent

    一个agent包含source, channel, sink和其他组件
    它利用这些组件将events从一个节点传输到另一个节点或最终目的
    agentflume流的基础部分
    flume为这些组件提供了配置、生命周期管理、监控支持

    agent之source

    source负责接收event或通过特殊机制产生event,并将events批量的放到一个或多个channel
    包含event驱动和轮询2种类型

    不同类型的source:
    与系统集成的source: SyslogNetcat
    自动生成事件的source: Exec
    用于agentagent之间通信的IPC source: AvroThrift
    source必须至少和一个channel关联

    agent之channel

    channel位于sourcesink之间,用于缓存进来的event
    sink成功的将event发送到下一跳的channel或最终目的,eventchannel移除
    不同的channel提供的持久化水平也是不一样的:
    Memory channel: volatile
    File channel: 基于WAL(预写式日志Write-Ahead Logging)实现
    JDBC channel: 基于嵌入Database实现
    channel支持事务,提供较弱的顺序保证
    可以和任何数量的sourcesink工作

    agent之sink

    sink负责将event传输到下一跳或最终目的,成功完成后将eventchannel移除
    不同类型的sink:
    存储event到最终目的的终端sink. 比如: HDFSHBase
    自动消耗的sink. 比如: null sink
    用于agent间通信的IPC sink: avro
    必须作用于一个确切的channel

    interceptor

    作用于source,按照预设的顺序在必要地方装饰和过滤events

    channel selector

    允许source基于预设的标准,从所有channel中,选择一个或多个channel

    sink processor

    多个sink可以构成一个sink group
    sink processor可以通过组中所有sink实现负载均衡
    也可以在一个sink失败时转移到另一个

    相关文章

      网友评论

          本文标题:Flume | Flume NG架构

          本文链接:https://www.haomeiwen.com/subject/jwushctx.html