spark任务提交参数配置详解

    技术2022-07-11  114

    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方式 > 命令行参数方式 >文件配置方式。

     

    Processed: 0.011, SQL: 9