SparkConf参数

sparkconf中的一些参数,
参考了sparkconf源码中的解释,以及摘抄了几位博主的笔记,
整合了下,方便使用。

参数 意义
spark.yarn.tags 逗号分隔的字符串,传递YARN应用tags。其值将出现在YARN Application Reports中,可以用来过滤和查询YARN 应用。
spark.yarn.maxAppAttempts 提交应用最大尝试次数。不应大于YARN全局配置的最大尝试次数。 (yarn.resourcemanager.am.max-attempts in YARN)
spark.yarn.user.classpath.first 是否将用户jars放在Spark类路径之前
spark.yarn.config.gatewayPath 与spark.yarn.config.replacementPath配合使用
spark.yarn.config.replacementPath 某些路径,可能在网关主机上能正常访问(Spark应用启动的地方),而在其他节点上的访问方式(路径)可能不同。对于这样的路径,需要本属性配合 spark.yarn.config.replacementPath组合使用,对于支持异构配置的集群,必须配置好这两个值,Spark才能正确地启动远程进程。replacement path 通常包含一些YARN导出的环境变量(因此,对Spark containers可见)。例如,如果网关节点上Hadoop库安装在 /disk1/hadoop,并且其导出环境变量为 HADOOP_HOME,就需要将 spark.yarn.config.gatewayPath 设置为 /disk1/hadoop 并将 replacement path设为 $HADOOP_HOME,这样才能在远程节点上以正确的环境变量启动进程。
spark.yarn.queue yarn上使用的队列名,默认为default
spark.yarn.historyServer.address Spark history server地址,如:host.com:18080 。这个地址不要包含协议头(http://)。默认不设置,因为history server是可选的。应用程序结束以后,YARN资源管理器web UI通过这个地址链接到Spark history server UI。对于这属性,可以使用YARN属性变量,且这些变量是Spark在运行时组装的。例如,如果Spark history server和YARN资源管理器(ResourceManager)部署在同一台机器上运行,那么这个属性可以设置为 ${hadoopconf-yarn.resourcemanager.hostname}:18080
文件分布相关
spark.yarn.archive 包含带有Spark类的jar文件的归档文件的位置
spark.yarn.jars Spark jar文件位置,如果需要覆盖默认位置,请设定这个值。默认的,Spark on YARN会使用本地的Spark jar包,但Spark jar包同样可以使用整个集群可读的HDFS文件位置。这使YARN可以在各节点上缓存Spark jar包,而不需要每次运行一个应用的时候都要分发。使用 hdfs:///some/path 来指定HDFS上jar包文件路径。
spark.yarn.dist.archives 逗号分隔的文档列表,其指向的文档将被提取到每个执行器的工作目录下,默认无
spark.yarn.dist.files 逗号分隔的文件列表,其指向的文件将被复制到每个执行器的工作目录下,默认无
spark.yarn.dist.jars
spark.yarn.preserve.staging.files 是否保存HDFS中由于job产生的临时文件,默认为 false 。如果设置为true,那么在作业运行完之后,会避免工程jar等文件被删除掉
spark.yarn.submit.file.replication 由spark提交到HDFS的文件的副本数,比如工程jar,依赖jar,配置文件等,默认 1
spark.yarn.stagingDir 提交应用时,staging的目录
文件分布相关
Cluster-mode 启动配置
spark.yarn.submit.waitAppCompletion cluster mode下,client是否等到作业运行完再退出,默认为true
spark.yarn.report.interval cluster mode下,当前app状态报告的间隔,默认1s
Client-mode AM / Driver 公用配置
spark.yarn.am.waitTime cluster模式下,Application Master要等待SparkContext初始化的时长; client模式下,application master等待driver来连接它的时长,默认 100s
spark.yarn.am.nodeLabelExpression 一个YARN节点标签表达式(node label expression),以此来限制AM可以被调度到哪些节点上执行。只有Hadoop 2.6+才能支持节点标签表达式,所以如果用其他版本运行,这个属性将被忽略。
spark.yarn.containerLauncherMaxThreads application master能用来启动executor container的最大线程数量 ,默认25
spark.yarn.max.executor.failures 整个作业判定为失败之前,executor最大的失败次数 ,默认 executor数量*2,最小3
spark.yarn.scheduler.reporterThread.maxFailures
spark.yarn.scheduler.heartbeat.interval-ms application master向resourcemanager发送心跳的间隔,单位ms ,默认3000ms
spark.yarn.scheduler.initial-allocation.interval Spark AM的初始带外心跳间隔(有待定的资源申请时)。其值不应该大于 spark.yarn.scheduler.heartbeat.interval-ms。该资源分配间隔会在每次带外心跳成功后但仍有待定资源申请时倍增,直至达到 spark.yarn.scheduler.heartbeat.interval-ms 所设定的值,默认为 200ms
spark.yarn.services 要添加到调度程序中的服务的类名的逗号分隔列表
Client-mode AM 配置
spark.yarn.am.cores Application Master使用的cpu数量,默认 1
spark.yarn.am.extraJavaOptions client-mode下AM的JVM参数
spark.yarn.am.extraLibraryPath client-mode下AM的额外库路径
spark.yarn.am.memoryOverhead 每个am的堆外内存大小,用来存放诸如常量字符串等东西,默认为AM内存的7%
spark.yarn.am.memory YARN Application Master使用的内存总量,默认512MB
Driver 配置
spark.driver.cores cluster模式下,driver使用的cpu core数量,driver与Application Master运行在一个进程中,所以也控制了Application Master的cpu数量,默认 为1
spark.yarn.driver.memoryOverhead 每个driver的堆外内存大小,用来存放诸如常量字符串等东西,默认为driver内存 * 0.10或者 384MB中较大者
Executor 配置
spark.executor.cores
spark.yarn.executor.memoryOverhead 每个executor的堆外内存大小,用来存放诸如常量字符串等东西,默认为executor内存 * 0.10或者 384MB中较大者
spark.yarn.executor.nodeLabelExpression 一个YARN节点标签表达式(node label expression),以此来限制执行器可以被调度到哪些节点上启动。只有Hadoop 2.6+才能支持节点标签表达式,所以如果在其他版本上运行时,这个属性将被忽略
spark.executor.instances 执行器个数。注意,这个属性和 spark.dynamicAllocation.enabled是不兼容的。如果同时设置了 spark.dynamicAllocation.enabled,那么动态分配将被关闭,并使用 spark.executor.instances 所设置的值。 默认2
Security 配置
spark.yarn.credentials.file.retention.count
spark.yarn.credentials.file.retention.days
spark.yarn.credentials.file.retention.days
spark.yarn.access.namenodes spark作业能访问的hdfs namenode地址
Private configs
spark.yarn.credentials.file
spark.yarn.user.jar 内部配置,将用户jar的位置传播到驱动程序/执行程序
spark.yarn.secondary.jars 内部配置,以传播任何额外jar的位置,以添加到执行器的类路径中
文件传递的缓存和配置
spark.yarn.cache.filenames
spark.yarn.cache.sizes
spark.yarn.cache.timestamps
spark.yarn.cache.visibilities
spark.yarn.cache.types
spark.yarn.cache.confArchive conf archive在HDFS中的路径

你可能感兴趣的:(SparkConf参数)