Spark 运行的4种模式

1. 4种运行模式概述图

 (1) local 本地模式

该模式主要用作测试用,一般编写的 spark 程序,将 master 设置为 local 或者 local[n],以本地模式运行,所有的代码都在一个 Jvm 里面。

(2) 伪分布式模式

该模式所有的 Driver 和 Executor 都运行在同一台机器,在单机上模拟集群环境,和 Standalone 模式运行过程大致相同。

(3) Standalone 模式

该模式由 Spark 自带的集群管理模式,不依赖外部的资源管理器,由 Master 负责资源的分配管理,Worker 负责运行 Executor ,具体的运行过程可参考之前介绍 Spark 运行模式的篇章。

(4) yarn 模式

该模式由 yarn 负责管理整个集群资源,不再有 Master 和 Worker,根据 yarn-client 和 yarn-cluster 的不同。
yarn-client   中 driver运行在本地客户端,负责调度application,会与yarn集群产生大量的网络通信,但本地可以看见日志。
yarn-cluster 中 driver运行在yarn集群中,看不见日志。

(5) Mesos 模式

和 yarn 一样,Mesos 中,Spark 的资源管理从 Standalone 的 Master 转移到 Mesos Manager 中。

2. 不同的提交参数说明

 ./bin/spark-submit 

  //主类入口
  --class <main-class>  

  // 指定appname
  --name  <appname>    
     
  //pom依赖所需要的resource目录下的资源文件 
  --files     

  //需要的jar包
  --jar            

  //运行内存
  --executor-memory 1G 

  //运行内核数
  --num-executors 1 

 //运行模式指定
  --master <master-url> 

  //指定client模式或者cluster模式,默认是client
  --deploy-mode <deploy-mode> 

  //设置参数
  --conf <key>=<value> 

  //jar包路径
  <application-jar> 

  //main方法的参数
  [application-arguments]

  

# Run application locally on 8 cores
./bin/spark-submit 
  --class org.apache.spark.examples.SparkPi 
  --master local[8] 
  /path/to/examples.jar 
  100

# Run on a Spark standalone cluster in client deploy mode
./bin/spark-submit 
  --class org.apache.spark.examples.SparkPi 
  --master spark://207.184.161.138:7077 
  --executor-memory 20G 
  --total-executor-cores 100 
  /path/to/examples.jar 
  1000

# Run on a Spark standalone cluster in cluster deploy mode with supervise
./bin/spark-submit 
  --class org.apache.spark.examples.SparkPi 
  --master spark://207.184.161.138:7077 
  --deploy-mode cluster 
  --supervise 
  --executor-memory 20G 
  --total-executor-cores 100 
  /path/to/examples.jar 
  1000

# Run on a YARN cluster
export HADOOP_CONF_DIR=XXX
./bin/spark-submit 
  --class org.apache.spark.examples.SparkPi 
  --master yarn 
  --deploy-mode cluster   # can be client for client mode
  --executor-memory 20G 
  --num-executors 50 
  /path/to/examples.jar 
  1000

原文来源:https://blog.csdn.net/wtzhm/article/details/84839352?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

原文地址:https://www.cnblogs.com/chong-zuo3322/p/12911934.html