总结性地说,Yarn-cluster模式提交作业后,可关掉client,适合生产环境;Yarn-client适合交互式的,开发环境。
本质上,对Spark on Yarn集群,是Spark Driver在哪里运行、谁进行调度的区别。
Yarn-cluster模式,Spark Driver运行在Application Master所在的机器上,因此该机器一定是集群中某个节点;Application Master所在的executor是应用程序提交后向Resource Manager申请的第一个Executor中,之后的资源申请都是通过Application Master向RM申请。
Yarn-client模式,Spark Driver运行在Client所在的机器,AM启动后负责程序运行过程中向RM申请需要的资源(Executor),进程之间的调度、通信是Driver程序和NM之间,AM不参与。
参考链接: