spark任务提交参数配置详解

本文详细介绍了如何使用spark-submit脚本提交Spark任务,包括--master、--deploy-mode、--class等关键选项的设置,以及对executor内存、driver内存等资源的配置。此外,还提到了在不同集群管理器下提交任务的注意事项。

spark任务提交说明

jar包提交,可以使用bin/spark-submit脚本启动应用了. 这个脚本负责设置spark使用的classpath和依赖,支持不同类型的集群管理器和发布模式:

 

bin/spark-submit \

  --class <main-class>

  --master <master-url> \

  --deploy-mode <deploy-mode> \

  --conf <key>=<value> \

  ... # other options

  <application-jar> \

  [application-arguments]

一些常用选项:

  1. --class: 你的应用的启动类 (如 org.apache.spark.examples.SparkPi)
  2. --master: 集群的master URL (如 spark://node01:7077)
  3. --deploy-mode: 是否发布你的驱动到worker节点(cluster) 或者作为一个本地客户端 (client) (default: client)*
  4. --conf: 任意的Spark配置属性, 格式key=value. 如果值包含空格,可以加引号“key=value”. 缺省的Spark配置
  5. application-jar: 打包好的应用jar,包含依赖. 这个URL在集群中全局可见。 比如hdfs:// 共享存储系统, 如果是 file:// path, 那么所有的节点的path都包含同样的jar.
  6. application-arguments: 传给main()方法的参数

Master URL 可以是以下格式:

查看Spark-submit全部参数:

local

本地以一个worker线程运行(例如非并行的情况).

local[K]

本地以K worker 线程 (理想情况下, K设置为你机器的CPU核数).

local[*]

本地以本机同样核数的线程运行.

spark://HOST:PORT

连接到指定的Spark standalone cluster master. 端口是你的master集群配置的端口,缺省值为7077.

mesos://HOST:PORT

连接到指定的Mesos 集群. Port是你配置的mesos端口, 缺省是5050. 或者如果Mesos使用ZOoKeeper,格式为 mesos://zk://....

yarn-client

以client模式连接到YARN cluster. 集群的位置基于HADOOP_CONF_DIR 变量找到.

yarn-cluster

以cluster模式连接到YARN cluster. 集群的位置基于HADOOP_CONF_DIR 变量找到.

 

 

更多参数提交说明:

 

 

–master MASTER_URL 

说明:可以是spark://host:port, mesos://host:port, yarn, yarn-cluster,yarn-client, local

–deploy-mode DEPLOY_MODE 

说明:Driver程序运行的地方,client或者cluster

–class CLASS_NAME

说明:主类名称,含包名

–name NAME

说明:Application名称

–jars JARS

说明:Driver依赖的第三方jar包

–py-files PY_FILES

说明:用逗号隔开的放置在Python应用程序PYTHONPATH上的.zip, .egg, .py文件列表

–files FILES

说明:用逗号隔开的要放置在每个executor工作目录的文件列表

–properties-file FILE

说明:设置应用程序属性的文件路径,默认是conf/spark-defaults.conf

–driver-memory MEM 

说明:Driver程序使用内存大小

–driver-java-options

–driver-library-path

说明:Driver程序的库路径

–driver-class-path

说明:Driver程序的类路径

–executor-memory MEM 

说明:executor内存大小,默认1G

–driver-cores NUM 

说明:Driver程序的使用CPU个数,仅限于Spark Alone模式

–supervise

说明:失败后是否重启Driver,仅限于Spark Alone模式

–total-executor-cores NUM 

说明:executor使用的总核数,仅限于Spark Alone、Spark on Mesos模式

–executor-cores NUM 

说明:每个executor使用的内核数,默认为1,仅限于Spark on Yarn模式

–queue QUEUE_NAME 

说明:提交应用程序给哪个YARN的队列,默认是default队列,仅限于Spark on Yarn模式

–num-executors NUM 

说明:启动的executor数量,默认是2个,仅限于Spark on Yarn模式

–archives ARCHIVES

说明:仅限于Spark on Yarn模式

注意如果要使用--properties-file的话,在--properties-file中定义的属性就不必要在spark-sumbit中再定义了,比如在conf/spark-defaults.conf 定义了spark.master,就可以不使用--master了。关于Spark属性的优先权为:SparkConf方式 > 命令行参数方式 >文件配置方式。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值