Spark的4种运行模式

时间:2022-04-08 09:20:59
Spark支持4种运行模式:

本地单机模式

  本地单机模式下,所有的Spark进程均运行于同一个JVM中,并行处理则通过多线程来实现。在默认情况下,单机模式启动与本地系统的CPU核心数目相同的线程。如果要设置并行的级别,则以local[N]的格式来指定一个master变量,N表示要使用的线程数目。

例子:

默认情况:
caiyong@caiyong:/opt/spark$ ./bin/run-example org.apache.spark.examples.SparkPi
[Stage 0:>                                                          (0 + 0) / 2]15/10/18 20:11:07 WARN SizeEstimator: Failed to check whether UseCompressedOops is set; assuming yes
Pi is roughly 3.14056  

设置并行级别的情况:
caiyong@caiyong:/opt/spark$ master=local[3] ./bin/run-example org.apache.spark.examples.SparkPi
[Stage 0:>                                                          (0 + 0) / 2]15/10/18 20:25:21 WARN SizeEstimator: Failed to check whether UseCompressedOops is set; assuming yes
Pi is roughly 3.14206 

集群单机模式

  Spark集群由两类程序构成:一个驱动程序和多个执行程序。本地模式时所有的处理都运行在同一个JVM内,在集群模式时通常运行在多个不同的节点上。
集群单机模式通常包括:
1.一个运行Spark单机主进程和启动程序的主节点;
2.各自运行一个执行程序的进程的工作节点。
在单机集群上运行,只需要将主节点的URL(IP:PORT)设置给master变量就可以了。
caiyong@caiyong:/opt/spark$ master=192.168.0.100:7077 ./bin/run-example org.apache.spark.examples.SparkPi
Pi is roughly 3.14157 

基于Mesos

Mesos是一个开源集群计算框架。

基于YARN

即基于Hadoop2,与Hadoop关联形成集群计算和资源调度框架。