spark作业配置及spark-submit参数说明

1.spark作业配置的三种方式

  1. 读取指定配置文件,默认为conf/spark-defaults.conf。
  2. 在程序中的SparkConf中指定,如conf.setAppName(“myspark”)。
  3. spark-submit中使用参数。
    这三种方式的优先级为SparkConf>spark-submit>配置文件。可以在spark-submit中使用–verbos参数查看起作用的配置来自上述哪种方式。

2.spark-submit参数说明

使用spark-submit提交spark作业的时候有许多参数可供我们选择,这些参数有的用于作业优化,有的用于实现某些功能,所有的参数列举如下:

参数 说明
–master 集群的master地址。如:spark://host:port,mesos://host:port,
yarn-client,yarn-cluster,local[k]本地以k个worker线程执行,
k一般为cpu的内核数,local[*]以尽可能多的线程数执行。
–deploy-mode driver运行的模式,client或者cluster模式,默认为client
–class 应用程序的主类(用于Java或者Scala应用)
–name 应用程序的名称
–jars 作业执行过程中使用到的其他jar,可以使用逗号分隔添加多个。可以使用如下方式添加:
file:指定http文件服务器的地址,每个executor都从这个地址下载。
hdfs,http,https,ftp:从以上协议指定的路径下载。
local:直接从当前的worker节点下载。
–packages 从maven添加作业执行过程中使用到的包,查找顺序先本地仓库再远程仓库。
可以添加多个,每个的格式为:groupId:artifactId:version
–exclude-packages 需要排除的包,可以为多个,使用逗号分隔。
–repositories 远程仓库。可以添加多个,逗号分隔。
–py-files 逗号分隔的”.zip”,”.egg”或者“.py”文件,这些文件放在python app的PYTHONPATH下面
–files 逗号分隔的文件列表,这些文件放在每个executor的工作目录下。
–conf 其他额外的spark配置属性。
–properties-file 指向一个配置文件,通过这个文件可以加载额外的配置。
如果没有则会查找conf/spark-defaults.conf
–driver-memory driver节点的内存大小。如2G,默认为1024M。
–driver-java-options 作用于driver的额外java配置项。
–driver-library-path 作用于driver的外部lib包。
–driver-class-path 作用于driver的额外类路径,使用–jar时会自动添加路径。
–executor-memory 每个excutor的执行内存。
–proxy-user 提交作业的模拟用户。是hadoop中的一种安全机制,具体可以参考:
http://dongxicheng.org/mapreduce-nextgen/hadoop-secure-impersonation/
–verbose 打印debug信息。
–version 打印当前spark的版本。
–driver-cores driver的内核数,默认为1。(仅用于spark standalone集群中)
–superivse driver失败时重启 (仅用于spark standalone或者mesos集群中)
–kill kill指定的driver (仅用于spark standalone或者mesos集群中)
–total-executor-cores 给所有executor的所有内核数。(仅用于spark standalone或者mesos集群中)
–executor-cores 分配给每个executor的内核数。(仅用于spark standalone或者yarn集群中)
–driver-cores driver的内核数。(仅yarn)
–queue 作业执行的队列。(仅yarn)
–num-executors executor的数量。(仅yarn)
–archives 需要添加到executor执行目录下的归档文件列表,逗号分隔。(仅yarn)
— principal 运行于secure hdfs时用于登录到KDC的principal。(仅yarn)
–keytab 包含keytab文件的全路径。(仅yarn)

 文章来源:大数据随笔

你可能感兴趣的:(spark)