spark-submit 可以提交任務到 spark 集群執行,也可以提交到 hadoop 的 yarn 集群執行。
1)./spark-shell --help :不知道如何使用,可通過它查看命令幫助,[]中括號里面的表示可選的。
2)重要參數講解:
--master master 的地址,提交任務到哪里執行,例如 spark://host:port, yarn, local
--name 這個是指定你的application name 應用名稱。
--jars 這個是用comma逗號分隔的一系列包含driver和executor的環境變量的包。
--conf 這個是指定一些配置的參數。
--driver-* 這個是指定driver的memory、class-path等。
--executor-memory 這個是設置executor端的內存。
--executor-core 指定executor的core資源
--driver-core 指定driver的core資源
--queue 生產上肯定是以隊列的方式來提交的
--num-executor 指定executor 執行者的個數
-----------------------------------------------------------------------------
原文:https://blog.csdn.net/qq_42064119/article/details/83038811
轉自: https://www.cnblogs.com/weiweifeng/p/8073553.html
1. 例子
一個最簡單的例子,部署 spark standalone 模式后,提交到本地執行。
./bin/spark-submit \ --master spark://localhost:7077 \ examples/src/main/python/pi.py
如果部署 hadoop,並且啟動 yarn 后,spark 提交到 yarn 執行的例子如下。
注意,spark 必須編譯成支持 yarn 模式,編譯 spark 的命令為:
build/mvn -Pyarn -Phadoop-2.x -Dhadoop.version=2.x.x -DskipTests clean package
其中, 2.x 為 hadoop 的版本號。編譯完成后,可執行下面的命令,提交任務到 hadoop yarn 集群執行。
./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
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 配置屬性的值, 例如 -conf spark.executor.extraJavaOptions="-XX:MaxPermSize=256m" |
--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下使用 |