一个内部分享的ppt,主要对比了YARN和K8s调度器对于Spark作业调度的原理。
YARN天生就是用来调度大数据作业的,所以它的功能相当丰富,比如默认的Capacity Scheduler,按照Queue、App、Container多级调度,并且对多租户的支持也很完整。在源码阅读的过程中,会发现内部的细节相当复杂,可配置的配置项也很多。 我在里面花了一些流程图,举了一些例子,有助于理解Capacity Scheduler的内部原理。
K8s本身并不适应很多大数据批任务调度的需求,所以目前有很多扩展Scheduler在提供,社区暂时也没有提供非常标准的解决方案,还是在一个发展的过程中。