spark-submit 提交任務及參數說明

 spark-submit 能夠提交任務到 spark 集羣執行,也能夠提交到 hadoop 的 yarn 集羣執行。java

1. 例子

一個最簡單的例子,部署 spark standalone 模式後,提交到本地執行。python

./bin/spark-submit \ --master spark://localhost:7077 \
examples/src/main/python/pi.py

若是部署 hadoop,而且啓動 yarn 後,spark 提交到 yarn 執行的例子以下。apache

注意,spark 必須編譯成支持 yarn 模式,編譯 spark 的命令爲:maven

build/mvn -Pyarn -Phadoop-2.x -Dhadoop.version=2.x.x -DskipTests clean package

 其中, 2.x 爲 hadoop 的版本號。編譯完成後,可執行下面的命令,提交任務到 hadoop yarn 集羣執行。oop

./bin/spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-memory 1g \
--executor-memory 1g \
--executor-cores 1 \
--queue thequeue \

examples/target/scala-2.11/jars/spark-examples*.jar 10

www.yinhu.tech

2. spark-submit 詳細參數說明

參數名 參數說明
--master  master 的地址,提交任務到哪裏執行,例如 spark://host:port,  yarn,  local
--deploy-mode  在本地 (client) 啓動 driver 或在 cluster 上啓動,默認是 client
--class  應用程序的主類,僅針對 java 或 scala 應用
--name  應用程序的名稱
--jars  用逗號分隔的本地 jar 包,設置後,這些 jar 將包含在 driver 和 executor 的 classpath 下
--packages  包含在driver 和executor 的 classpath 中的 jar 的 maven 座標
--exclude-packages  爲了不衝突 而指定不包含的 package
--repositories  遠程 repository
--conf PROP=VALUE

 指定 spark 配置屬性的值,ui

 例如 -conf spark.executor.extraJavaOptions="-XX:MaxPermSize=256m"spa

--properties-file  加載的配置文件,默認爲 conf/spark-defaults.conf
--driver-memory  Driver內存,默認 1G
--driver-java-options  傳給 driver 的額外的 Java 選項
--driver-library-path  傳給 driver 的額外的庫路徑
--driver-class-path  傳給 driver 的額外的類路徑
--driver-cores  Driver 的核數,默認是1。在 yarn 或者 standalone 下使用
--executor-memory  每一個 executor 的內存,默認是1G
--total-executor-cores  全部 executor 總共的核數。僅僅在 mesos 或者 standalone 下使用
--num-executors  啓動的 executor 數量。默認爲2。在 yarn 下使用
--executor-core  每一個 executor 的核數。在yarn或者standalone下使用
相關文章
相關標籤/搜索