在剖析Master核心的资源调度算法以前,让咱们先来看看Master的状态改变机制。 算法
能够看出,一旦Driver状态发生改变,基本没有好事情,后果要么是删除Driver,要么是报异常!
removeDriver方法:app
能够看出,若是Executor时非正常退出,会尝试从新调度(启动)该Executor,直到该Application达到了最大的重试次数10次。
removeApplication方法源码分析
二. 资源调度机制源码分析(schedule方法)
只有在yarn cluster模式下Driver才须要调度
),随机打乱AliveWorkers的
canUse()方法spa
launchExecutor方法code