ApplicationMaster启动流程
当客户端调用客户端和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启动流程相关推荐
- Flink 集群启动流程
MiniCluster的启动流程: 首先来看最简单的本地模式MiniCluster的启动流程,以此来分析Flink的具体启动流程以及内部各组件之间的交互形式.MiniCluster可以看做是内嵌的Fl ...
- 源码分析-Activity的启动流程
以android 6.0源码为参考,其他版本api会稍有不同 在Activity中,启动一个Activity的方法 @Override public void startActivity(Intent ...
- Centos 6启动流程详解
author:JevonWei 版权声明:原创作品 Centos6 启动流程 POST开机自检 当按下电源键后,会启动ROM芯片中的CMOS程序检查CPU.内存等硬件设备是否正常运行,CMOS中的程序 ...
- 2014.4新版uboot启动流程分析
原文 http://blog.csdn.net/skyflying2012/article/details/25804209 此处转载有稍作修改 最近开始接触uboot,现在需要将2014.4版本ub ...
- 解析并符号 读取dll_Spring IOC容器之XmlBeanFactory启动流程分析和源码解析
一. 前言 Spring容器主要分为两类BeanFactory和ApplicationContext,后者是基于前者的功能扩展,也就是一个基础容器和一个高级容器的区别.本篇就以BeanFactory基 ...
- leveldb源码分析:Open启动流程
leveldb概述 Leveldb 是一个持久化的KV存储系统,主要将大部分数据存储在磁盘上,在存储数据的过程中,根据记录的key值有序存储,当然使用者也可以自定义Key大小比较函数,一个leveld ...
- Nginx源码分析:启动流程
nginx源码分析 nginx-1.11.1 参考书籍<深入理解nginx模块开发与架构解析> nginx简介 Nginx的作为服务端软件,表现的主要特点是更快.高扩展.高可靠性.低内存消 ...
- JVM启动流程和内存结构
"Great haste makes great waste" JVM启动流程 JVM是Java程序运行的环境,同时是一个操作系统的一个应用程序进程,因此它有自己的生命周期,也有自 ...
- mbr,gpt,开机启动流程.
启动流程 SystemV 加载 BIOS 的硬件资讯与进行自我测试,并依据配置取得第一个可启动的装置: 读取并运行第一个启动装置内 MBR 的 boot Loader (亦即是 grub, spfdi ...
最新文章
- 怎么绘制机械孔_机械图纸中常见的符号及意义,机械人必备!
- 实现DFS之“骨头的诱惑”
- 从缓冲上看阻塞与非阻塞socket在发送接收上的区别(转载)
- 00x1 python分支循环
- Newtonsoft.Json反序列化(Deserialize)出错:Bad JSON escape sequence
- objectid.go源码阅读
- 口琴膜片什么作用_2020年半音阶口琴选购攻略,让小白告别选择困难
- 分享些我见到的听到的各种创业经历(有成功也有失败)——分析下创业成功要做到哪些...
- Android计算器简单实现及代码分析
- eova常用前端组件介绍
- Caused by: java.lang.IllegalArgumentException: Not a managed type: class com.xxxx.xxx
- 安卓手机通电自动开机,自动执行脚本,断电关机,连接电源手机自动开机,断电关机
- 高性能Mysql中文版
- TypeError: set expected at most 1 arguments, got 4
- 简单的Java小游戏 -- 数字连连消
- source deactivate失败,无法退出虚拟环境
- Linux内核中的延时函数详解
- Jboot整合MySQL
- 快速制作响应式的个人主页案列
- visitor 模式
热门文章
- python带我起飞_Python带我起飞:入门、进阶、商业实战
- linux下备份mysql日志_Linux下使用Logrotate对MySQL日志进行轮转备份
- 用matlab绘制中国海岸线,matlab显示全球海岸线
- linux定时器跑命令,linux下运行定时器(cron/centos/js脚本)
- 2018年计算机二级MySQL真题_2018年3月计算机二级考试MySQL真题及答案2
- 地图统计_吃甜的还是咸的!太仓不完整饭团统计地图来了!
- 文件服务器搭建_小型企业文件存储服务器的搭建四部曲
- 北京计算机组织专家对,全球顶级专家齐聚北京 探讨计算机产业“大挑战”
- sql基于聚合结果集取最大值_SQL超入门第三篇:写给产品、运营、分析师的SQL教程...
- Linux手动指定ip地址