现在越来越多的场景,都是Spark跑在Hadoop集群中,所以为了做到资源能够均衡调度,会使用YARN来做为Spark的Cluster Manager,来为Spark的应用程序分配资源。
在执行Spark应用程序前,要启动Hadoop的各种服务。由于已经有了资源管理器,所以不需要启动Spark的Master、Worker守护进程。相关配置的修改,请自行研究。
使用如下命令执行应用程序
提交应用程序后,各节点会启动相关的JVM进程,如下:
在Resource Manager节点上提交应用程序,会生成SparkSubmit进程,该进程会执行driver程序。
RM会在集群中的某个NodeManager上,启动一个ExecutorLauncher进程,来做为ApplicationMaster。另外,也会在多个NodeManager上生成CoarseGrainedExecutorBackend进程来并发的执行应用程序。
对应的YARN资源管理的单元Container,关系如下:
为ApplicationMaster生成了容器 000001;
为CoarseGrainedExecutorBackend生成了容器 000002-000003
转载自:
作者:俺是亮哥
链接:https://www.jianshu.com/p/65a3476757a5
來源:简书
原文地址:https://www.cnblogs.com/chengzipg/p/9316990.html
时间: 2024-11-10 13:33:26