• 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();

  • 相关阅读:
    华为鲲鹏服务器测试
    gcc反汇编测试
    信息安全系统设计与实现:第五章学习笔记
    C语言实现ls之myls改进
    C语言编程实现mystat
    基于openEuler的OpenSSL编译安装和编程实践
    团队作业(三):确定分工
    centos的网络配置及克隆操作要点
    Flink特点分析
    机器学习之线性回归模型
  • 原文地址:https://www.cnblogs.com/chinda/p/6125869.html
Copyright © 2020-2023  润新知