当客户端调用客户端和RM通信协议ApplicationClientProtocal#sub

mitApplication之后,RM端的处理流程

1、ClientRMService#submitApplication处理来自客户端的请求,然后调用RMAppManager#submitApplication

2、RMAppManager为该应用程序创建一个RMAppImpl对象维护它的运行状态,并向该RMAppImpl发送一个RMAppEventType.START

事件

3、调用ResourceScheduler#allocate方法为应用程序ApplicationMaster

分配资源

4、RM为 ApplicationMaster分配资源后,创建RMContainerImpl对象,并向RMContainerImpl发送一个RMContainerEventType.START

事件

5、ApplicationMasterLauncher收到AMLauncherEventType.LAUNCH

事件,会将该事件放在队列中,等待AMLauncher线程池中的线程处理该事件

6、与对应的NodeManager通信启动ApplicationMaster启动的

7、ApplicationMaster向RM注册。

8、ApplicationMaster通过ApplicationMasterProtocol#allocate并向RM汇报资源需求

9、RM中ApplicationMasterService负责处理来自ApplicationMaster的请求,调用ResourceScheduler#allocate,将该AM资源需求汇报给ResourceScheduler

10、ResourceScheduler释放Container列表,杀死正在运行的Container,然后将新的资源需求更新

11、NodeManager通过RPC函数ResourceTracker#nodeHeartbeat负责处理来自NodeManager的请求,将更新Container状态,然后向ResourceTracker发送NODE_UPDATE事件

12、ResourceScheduler收到事件后,如果该节点上有可分配的空闲资源,则会将这些资源分配给各个应用程序

ApplicationMaster启动流程相关推荐

  1. Flink 集群启动流程

    MiniCluster的启动流程: 首先来看最简单的本地模式MiniCluster的启动流程,以此来分析Flink的具体启动流程以及内部各组件之间的交互形式.MiniCluster可以看做是内嵌的Fl ...

  2. 源码分析-Activity的启动流程

    以android 6.0源码为参考,其他版本api会稍有不同 在Activity中,启动一个Activity的方法 @Override public void startActivity(Intent ...

  3. Centos 6启动流程详解

    author:JevonWei 版权声明:原创作品 Centos6 启动流程 POST开机自检 当按下电源键后,会启动ROM芯片中的CMOS程序检查CPU.内存等硬件设备是否正常运行,CMOS中的程序 ...

  4. 2014.4新版uboot启动流程分析

    原文 http://blog.csdn.net/skyflying2012/article/details/25804209 此处转载有稍作修改 最近开始接触uboot,现在需要将2014.4版本ub ...

  5. 解析并符号 读取dll_Spring IOC容器之XmlBeanFactory启动流程分析和源码解析

    一. 前言 Spring容器主要分为两类BeanFactory和ApplicationContext,后者是基于前者的功能扩展,也就是一个基础容器和一个高级容器的区别.本篇就以BeanFactory基 ...

  6. leveldb源码分析:Open启动流程

    leveldb概述 Leveldb 是一个持久化的KV存储系统,主要将大部分数据存储在磁盘上,在存储数据的过程中,根据记录的key值有序存储,当然使用者也可以自定义Key大小比较函数,一个leveld ...

  7. Nginx源码分析:启动流程

    nginx源码分析 nginx-1.11.1 参考书籍<深入理解nginx模块开发与架构解析> nginx简介 Nginx的作为服务端软件,表现的主要特点是更快.高扩展.高可靠性.低内存消 ...

  8. JVM启动流程和内存结构

    "Great haste makes great waste" JVM启动流程 JVM是Java程序运行的环境,同时是一个操作系统的一个应用程序进程,因此它有自己的生命周期,也有自 ...

  9. mbr,gpt,开机启动流程.

    启动流程 SystemV 加载 BIOS 的硬件资讯与进行自我测试,并依据配置取得第一个可启动的装置: 读取并运行第一个启动装置内 MBR 的 boot Loader (亦即是 grub, spfdi ...

最新文章

  1. 怎么绘制机械孔_机械图纸中常见的符号及意义,机械人必备!
  2. 实现DFS之“骨头的诱惑”
  3. 从缓冲上看阻塞与非阻塞socket在发送接收上的区别(转载)
  4. 00x1 python分支循环
  5. Newtonsoft.Json反序列化(Deserialize)出错:Bad JSON escape sequence
  6. objectid.go源码阅读
  7. 口琴膜片什么作用_2020年半音阶口琴选购攻略,让小白告别选择困难
  8. 分享些我见到的听到的各种创业经历(有成功也有失败)——分析下创业成功要做到哪些...
  9. Android计算器简单实现及代码分析
  10. eova常用前端组件介绍
  11. Caused by: java.lang.IllegalArgumentException: Not a managed type: class com.xxxx.xxx
  12. 安卓手机通电自动开机,自动执行脚本,断电关机,连接电源手机自动开机,断电关机
  13. 高性能Mysql中文版
  14. TypeError: set expected at most 1 arguments, got 4
  15. 简单的Java小游戏 -- 数字连连消
  16. source deactivate失败,无法退出虚拟环境
  17. Linux内核中的延时函数详解
  18. Jboot整合MySQL
  19. 快速制作响应式的个人主页案列
  20. visitor 模式

热门文章

  1. python带我起飞_Python带我起飞:入门、进阶、商业实战
  2. linux下备份mysql日志_Linux下使用Logrotate对MySQL日志进行轮转备份
  3. 用matlab绘制中国海岸线,matlab显示全球海岸线
  4. linux定时器跑命令,linux下运行定时器(cron/centos/js脚本)
  5. 2018年计算机二级MySQL真题_2018年3月计算机二级考试MySQL真题及答案2
  6. 地图统计_吃甜的还是咸的!太仓不完整饭团统计地图来了!
  7. 文件服务器搭建_小型企业文件存储服务器的搭建四部曲
  8. 北京计算机组织专家对,全球顶级专家齐聚北京 探讨计算机产业“大挑战”
  9. sql基于聚合结果集取最大值_SQL超入门第三篇:写给产品、运营、分析师的SQL教程...
  10. Linux手动指定ip地址