Spark运行模式_spark自带cluster manager的standalone cluster模式(集群)

时间:2023-12-16 17:30:02

  这种运行模式和"Spark自带Cluster Manager的Standalone Client模式(集群)"还是有很大的区别的。使用如下命令执行应用程序(前提是已经启动了spark的Master、Worker守护进程)不用启动Hadoop服务,除非你用到了HDFS的内容。

        Spark运行模式_spark自带cluster manager的standalone cluster模式(集群)

各节点启动的JVM进程情况如下:

master节点上的进程

        Spark运行模式_spark自带cluster manager的standalone cluster模式(集群)

提交应用程序的客户端上的进程

        Spark运行模式_spark自带cluster manager的standalone cluster模式(集群)

某worker节点上的进程

        Spark运行模式_spark自带cluster manager的standalone cluster模式(集群)

客户端的SparkSubmit进程会在应用程序提交给集群之后就退出(区别1)

Master会在集群中选择一个Worker进程生成一个子进程DriverWrapper来启动driver程序(区别2)

而该DriverWrapper 进程会占用Worker进程的一个core,所以同样的资源下配置下,会比第3种运行模式,少用1个core来参与计算(观察下图executor id 7的core数)(区别3)

        Spark运行模式_spark自带cluster manager的standalone cluster模式(集群)

应用程序的结果,会在执行driver程序的节点的stdout中输出,而不是打印在屏幕上(区别4)

standlone 情况下有两种:deploy-mode client 和deploy-mode cluster 的区别就是,client必须在集群上的某个节点执行,所谓的客户端,也就是说提交应用程序的节点要作为整个程序运行的客户端,也就是说这个节点必须从属于集群!而cluster顾名思义,就是集群的意思,可以理解为提交的程序在某个集群运行,也就是说提交的机器只需要拥有单机版的spark环境就行了,至于提交的地方是哪里通过spark://指定就行了,提交的机器只作为提交的功能,提交完了之后就和他无关了!(区别5)

转载自:
作者:俺是亮哥
链接:https://www.jianshu.com/p/65a3476757a5
來源:简书