总所周知,yarn是一个资源调度器,能够让各种计算框架运行在之上,例如spark,mapreduce. 那么问题就来了,就拿spark来举例,spark是如何和yarn结合的,将用户开发的程序放到yarn上运行的。这里我不是问yarn-client提交的流程哈, 我是想表达,例如AM,spark是如何去初始化的,什么时候去初始化的。 客户端的代码一般都是通过初始化SparkContext进而初始化spark应用,但是初始化之后又做了些什么事情呢?还有就是,如果我自己要些一个计算框架放到yarn上运行, 需要实现哪些东西? 这些东西都是yarn提供么? 最开始我以为ApplicationMaster是一个yarn的接口,各个系统都需要实现这个接口的,但是貌似我找了下也没找到这个接口。 不知道问题有没有描述清楚, 请各位大神解答,谢谢。