main
方法,进行Spark Context 的初始化。DAGSchedule
和 TaskSchedule
,
TaskSchedule
会进行任务资源的申请,因为我们这里是用 Yarn 作为资源调度器,
所以 TaskSchedule
会向 ResourceManager(RM) 进行资源申请。如果不还是不太清楚各个角色的用途,可以参考下图
到这里我们也基本讲明白了 Yarn-Client 模式的资源申请了, 但是说的比较浅,没有涉及到很多细节, 说来也比较惭愧,Spark 的 Standalone 模式源码倒是看过, 但是到目前为止,都没有深入研究过Yarn的源码, 尽管工作中基本都是用的 Yarn 作为资源管理~~~ 所以也只能点到即止了,如果后续有时间,可能会进行补充。