在剖析Master核心的資源調度算法以前,讓咱們先來看看Master的狀態改變機制。 算法
能夠看出,一旦Driver狀態發生改變,基本沒有好事情,後果要麼是刪除Driver,要麼是報異常!
removeDriver方法:app
能夠看出,若是Executor時非正常退出,會嘗試從新調度(啓動)該Executor,直到該Application達到了最大的重試次數10次。
removeApplication方法源碼分析
二. 資源調度機制源碼分析(schedule方法)
只有在yarn cluster模式下Driver才須要調度
),隨機打亂AliveWorkers的
canUse()方法spa
launchExecutor方法code