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]
一些常用选项:
- --class: 你的应用的启动类 (如 org.apache.spark.examples.SparkPi)
- --master: 集群的master URL (如 spark://node01:7077)
- --deploy-mode: 是否发布你的驱动到worker节点(cluster) 或者作为一个本地客户端 (client) (default: client)*
- --conf: 任意的Spark配置属性, 格式key=value. 如果值包含空格,可以加引号“key=value”. 缺省的Spark配置
- application-jar: 打包好的应用jar,包含依赖. 这个URL在集群中全局可见。 比如hdfs:// 共享存储系统, 如果是 file:// path, 那么所有的节点的path都包含同样的jar.
- 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方式 > 命令行参数方式 >文件配置方式。
本文详细介绍了如何使用spark-submit脚本提交Spark任务,包括--master、--deploy-mode、--class等关键选项的设置,以及对executor内存、driver内存等资源的配置。此外,还提到了在不同集群管理器下提交任务的注意事项。
2807

被折叠的 条评论
为什么被折叠?



