Yarn 事件分发调度

 

yarn:调度框架,基于事件

    AsyncDispatcher:异步事件分发器,总管道
        参数:
            事件队列:BlockingQueue<Event> eventQueue
            事件分发器:eventDispatchers = new HashMap<Class<? extends Enum>, EventHandler>()
        方法:
            dispatch(event):将事件进行分发到对应的事件处理器 EventHandler
        内部类:
            GenericEventHandler,将事件添加到队列中,implements EventHandler
        
        
    ApplicationAttemptEventDispatcher:二次分发,implements EventHandler
        handle(RMAppAttemptEvent event)
            调用rmAppAttempt.handle(event);
    
    RMAppImpl:implements EventHandler
        handle(e):事件处理

远程调试准备:
    1.设置ResourceManagers 的 JVM 开启远程调试功能。
        enable_yarn-remotedebug.sh:启用脚本
            export YARN_RESOURCEMANAGER_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000"
        disable_yarn-remotedebug.sh:停用脚本
            export YARN_RESOURCEMANAGER_OPTS=
    2.执行脚本,并source *.sh 生效
    3.启动 start-yarn.sh
    4.在win7下配置eclipse的远程调试,连接到RM的8000端口
        a.Re sourceManager 的main方法添加断点
    5.在ResourceManager类上选择Debug as--> debug configuration
    6.打开调试窗口 --》remote java Application
        connectionType:socket attack
        Host:s0
        port:8000
        

job:
    1.application
    2.application 基于状态机模型。
        NEW 
        NEW_SAVING 
        SUBMITTED 
        ACCEPTED 
        RUNNING 
        FINISHED 
        FAILED 
        KILLED 

    3.状态之间的变换通过事件触发的。

转载于:https://my.oschina.net/weigy/blog/891956

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值