**
YARN全局调度
**
本文将对 https://issues.apache.org/jira/browse/YARN-5139 这个yarn前瞻性功能,全局调度的思想进行深入分析。
首先了解一下全局调度和现有的调度模式有何区别,以及社区为什么要对全局调度进行研究开发工作,相比于现在的调度模式有何优势。
- 现有的调度模式:
现有的调度模式是基于NM(NodeManager)的心跳的方式进行调度的(不考虑持续调度模式),进行调度时,一次只考虑一个节点,这很容易造成非最优的调度。举个例子,一个请求要到第100个节点的心跳过来才是他最合适的节点,那么很可能到中间某一次心跳就分给他资源了,不是他最满意的节点。
其大概逻辑如下:
for node in allNodes:
Go to parentQueue
Go to leafQueue
for application in