zoukankan      html  css  js  c++  java
  • Flume组件source,channel,sink源码分析

    LifeCycleState:

    IDLE, START, STOP, ERROR

    [Source]: org.apache.flume.Source

             继承LifeCycleAware{stop() + start() + getLifeCycleState()} + NamedComponent{getName() + setName()}

             产生事件(Event),调用通道处理器(ChannelProcessor)的方法,将事件(Event)持久化到通道(Channel)中。

    [Channel]: org.apache.flume.Channel

             继承LifeCycleAware{stop() + start() + getLifeCycleState()} + NamedComponent{getName() + setName()}

             将source(Event生产者)和sink(Event消费者)进行关联,Channel本是一个缓存(buffer),通道是线程安全的。

             put(Event e);                                                   //向Channel中放置事件(Event)

        take();                                                            //从Channel中提取事件(Event)

             Transaction getTransaction()                          //获取Channel事务

    [Sink]: org.apache.flume.Sink

             继承LifeCycleAware{stop() + start() + getLifeCycleState()} + NamedComponent{getName() + setName()}

             连接到Channel,消费内容,发送给目的地。

             可以按照行为进行分组化(SinkGroup | SinkProcessor)

             Channel getChannel();

             setChannel(Channel ch);

             Status process();

  • 相关阅读:
    Linux基础文件打包
    Linux基础文件查找
    Apache的三种工作模式及相关配置
    elasticsearch启动错误整理
    Zabbix-agentd错误整理
    Nginx编译安装
    PHP编译安装
    Zabbix编译安装(全)
    Chetsheet: 2017 01.01 ~ 01.31
    Cheatsheet: 2016 12.01 ~ 12.31
  • 原文地址:https://www.cnblogs.com/chinda/p/6125869.html
Copyright © 2011-2022 走看看