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