介绍
将 spark 程序打成 jar 包后,spark-submit 将 jar 提交到 yarn 集群(通过配置,可提交给 spark 集群、local等)
参数
通用参数
--master:后面接以下参数:local:本地运行,只有一个工作进程local[n]:本地运行,只有 n 个工作进程,通常 n 为核心数量local[*]:默认值。本地运行,工作进程数量为核心数量yarn:在 yarn 集群上运行,需要搭配--deploy-mode参数(多用于生成环境)
--deploy-mode:Driver 程序运行的地方,后面接以下参数:client:表示driver进程在本地(默认值)cluster:表示driver进程在yarn集群上(多用于生成环境)
--class:主启动类的包名+类名--jars:逗号分隔的本地 JARS, Driver 和 executor 依赖的第三方 jar 包--files:用逗号隔开的文件列表,会放置在每个 executor 工作目录中--conf:spark 的配置属性--driver-memory:Driver 程序使用内存大小(例如:1000M,5G),默认 1024M--executor-memory:每个 executor 内存大小(如:1000M,2G),默认 1G
Spark standalone and YARN 模式可选参数:
--executor-cores:每个 executor 使用的 core 数,Spark on Yarn 默认为 1,standalone 默认为 worker 上所有可用的 core。
YARN 模式可选参数
--driver-cores:driver 使用的 core,仅在 cluster 模式下,默认为 1。--queue:QUEUE_NAME 指定资源队列的名称,默认:default--num-executors:启动的 executor 数量,默认是 2 个。
例子-yarn模式
必要条件
需要启动 HDFS 和 yarn
注意代码
代码必须去掉 setMaster("local[*]") ,否则 client 模式还是本地模式;cluster 模式会报错
client 模式
bin/spark-submit \
--master yarn \
--deploy-mode client \
--class org.apache.spark.examples.SparkPi \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10
cluster 模式
bin/spark-submit \
--master yarn \
--deploy-mode cluster \
--driver-memory 512M \
--executor-memory 512M \
--num-executors 1 \
--class org.apache.spark.examples.SparkPi \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10
感谢:
https://blog.csdn.net/baidu_35901646/article/details/81612488