在Spark内核剖析1—Spark standalone模式提交任务过程中描述了spark的standalone提交模式的主要细节,这是spark最经典的模式。但一般在生产中,使用的都是yarn-client或yarn-cluster模式,下文主要描述其原理。
Yarn-cluster模式
这里的ResourceManager相当于standalone的master,NodeManager相当于Worker,ApplicationMaster相当于Driver。之后会在AM中启动SparkContext,完成对stage的划分和task的分发。
Yarn-client模式
client模式的AM的功能很有限,只负责executor唤醒,任务调度和监控依旧在本地。
yarn-client与yarn-cluster对比
- yarn-client一般用于测试,由于driver端在本地,负责调度application,因而会导致网卡流量激增,在公司中可能会被运维警告