Spark2配置说明

服务配置

配置组:spark2_hdfs_dirs

参数名 默认值 备注
spark2_history /spark2-history spark-defaults.conf 配置文件中的 spark.eventLog.dir 配置项,为 Spark2 服务 events log 的在 HDFS 上的存储路径
spark2 /spark2 spark-defaults.conf 配置文件中的 spark.yarn.stagingDir 配置项,为 Spark2 服务提交 application 后在 HDFS 上存储 Stage 的父路径

配置组:spark2_local_running_dirs

参数名 默认值 备注
spark2_local_running_historyStore_dir /tmp/spark2/historyStore spark-defaults.conf 配置文件中的 spark.history.store.path 配置项,为 Spark2 服务在本地上的 history 存储路径
spark2_local_running_log_dir /tmp/spark2/log Spark2 服务在本地上的 log 存储路径
spark2_local_running_local_dir ./local spark-defaults.conf 配置文件中的 spark.local.dir 配置项,为 Spark2 服务在本地上的临时(scratch)存储路径

配置组:conf_spark_env

参数名 默认值 备注
JVM_MaxPermSize 512m spark-env.sh 配置文件中的 SPARK_DAEMON_JAVA_OPTS 配置项中的 -XX:MaxPermSiz 配置
JVM_MaxDirectMemorySize 512m spark-env.sh 配置文件中的 SPARK_DAEMON_JAVA_OPTS 配置项中的 -XX:MaxDirectMemorySize 配置
SPARK_DAEMON_MEMORY 4096m spark-env.sh 配置文件中的 SPARK_DAEMON_MEMORY 配置项
spark_env_sh_template 生成 spark-env.sh 配置文件的模板

配置组:log4j

参数名 默认值 备注
log4j_properties_template 生成 log4j.properties 配置文件的模板

配置组:conf_spark_defaults

参数名 默认值 备注
spark.driver.maxResultSize 2g spark-defaults.conf 配置文件中的 spark.driver.maxResultSize 配置项,为 Spark2 每个 action 的所有分区的序列化结果的大小的限制
spark.driver.memory 10g spark-defaults.conf 配置文件中的 spark.driver.memory 配置项,为 Spark2 driver 的内存大小
spark.dynamicAllocation.enabled true spark-defaults.conf 配置文件中的 spark.dynamicAllocation.enabled 配置项,为 Spark2 服务是否开启动态资源分配
spark.dynamicAllocation.executorIdleTimeout 120s spark-defaults.conf 配置文件中的 spark.dynamicAllocation.executorIdleTimeout 配置项,Spark2 服务如果启用了动态分配,并且执行器闲置了超过此时间,则该执行器将被删除
spark.dynamicAllocation.initialExecutors 1 spark-defaults.conf 配置文件中的 spark.dynamicAllocation.initialExecutors 配置项,Spark2 服务如果启用了动态分配,则任务运行时的最小 executor 数
spark.dynamicAllocation.maxExecutors 74 spark-defaults.conf 配置文件中的 spark.dynamicAllocation.maxExecutors 配置项,Spark2 服务如果启用了动态分配,则任务运行时的最大 executor 数
spark.dynamicAllocation.minExecutors 1 spark-defaults.conf 配置文件中的 spark.dynamicAllocation.minExecutors 配置项,Spark2 服务如果启用了动态分配,则任务运行时的最小 executor 数
spark.executor.cores 4 spark-defaults.conf 配置文件中的 spark.executor.cores 配置项,Spark2 每个 executor 上的 cpu core
spark.executor.instances 1 spark-defaults.conf 配置文件中的 spark.executor.instances 配置项,Spark2 执行任务时的静态分配的 executor 实例数,开启动态分配时会改变此数值
spark.hadoop.hadoop.security.authentication KERBEROS spark-defaults.conf 配置文件中的 spark.hadoop.hadoop.security.authentication 配置项,Spark2 在 Hadoop 集群中的认证方式
spark.kryoserializer.buffer.max 256m spark-defaults.conf 配置文件中的 spark.kryoserializer.buffer.max 配置项,Spark2 的 Kryo序列化缓冲区的最大允许大小
spark.kyuubi.authentication KERBEROS spark-defaults.conf 配置文件中的 spark.kyuubi.authentication 配置项,Kyuubi 的认证方式
spark.kyuubi.authentication.enabled true spark-defaults.conf 配置文件中的 spark.kyuubi.authentication.enabled 配置项,是否开启 Kyuubi 的认证
spark.kyuubi.async.exec.wait.queue.size 500 spark-defaults.conf 配置文件中的 spark.kyuubi.async.exec.wait.queue.size 配置项,为 Kyuubi 请求缓存队列的长度
spark.kyuubi.frontend.bind.port 10008 spark-defaults.conf 配置文件中的 spark.kyuubi.frontend.bind.port 配置项,为 Kyuubi 前端服务占用端口
spark.kyuubi.ha.enabled true spark-defaults.conf 配置文件中的 spark.kyuubi.ha.enabled 配置项,为 Kyuubi 是否开启高可用
spark.kyuubi.ha.mode loadbalance spark-defaults.conf 配置文件中的 spark.kyuubi.ha.mode 配置项,为 Kyuubi 高可用模式的类型
spark.kyuubi.ha.zk.namespace kyuubi-cluster spark-defaults.conf 配置文件中的 spark.kyuubi.ha.zk.namespace 配置项,为 Kyuubi 高可用模式的 Zookeeper Namespace
spark.kyuubi.operation.incremental.collect true spark-defaults.conf 配置文件中的 spark.kyuubi.operation.incremental.collect 配置项,为 Kyuubi 是否使用从 Spark2 执行程序端到 Kyuubi 服务器端的增量结果
spark.kyuubi.operation.incremental.rdd.partitions.limit 50 spark-defaults.conf 配置文件中的 spark.kyuubi.operation.incremental.rdd.partitions.limit 配置项,为 Kyuubi 是否使用从 Spark2 执行程序端到 Kyuubi 服务器端的增量结果时 rdd 的分区数
spark.kyuubi.operation.incremental.partition.rows 2000 spark-defaults.conf 配置文件中的 spark.kyuubi.operation.incremental.partition.rows 配置项,为 Kyuubi 是否使用从 Spark2 执行程序端到 Kyuubi 服务器端的增量结果时 rdd 的每个分区数据的行数
spark.kyuubi.operation.result.limit 20000 spark-defaults.conf 配置文件中的 spark.kyuubi.operation.result.limit 配置项,为 Kyuubi 执行结果的最大限制
spark.master yarn spark-defaults.conf 配置文件中的 spark.master 配置项,为当前集群调度的管理器
spark.scheduler.mode FIFO spark-defaults.conf 配置文件中的 spark.scheduler.mode 配置项,为当前集群调度模式
spark.shuffle.file.buffer 64k spark-defaults.conf 配置文件中的 spark.shuffle.file.buffer 配置项,为每个 shuffle 输出流的内存缓冲区大小
spark.shuffle.io.maxRetries 10 spark-defaults.conf 配置文件中的 spark.shuffle.io.maxRetries 配置项,为每个 shuffle IO 的最大重试数
spark.shuffle.io.preferDirectBufs false spark-defaults.conf 配置文件中的 spark.shuffle.io.preferDirectBufs 配置项,(仅适用于Netty)堆外缓冲区用于减少 shuffle 和高速缓存块传输期间的垃圾收集
spark.shuffle.io.retryWait 10s spark-defaults.conf 配置文件中的 spark.shuffle.io.retryWait 配置项,(仅限Netty)两次重试之间要等待多长时间
spark.shuffle.registration.timeout 20000 spark-defaults.conf 配置文件中的 spark.shuffle.registration.timeout 配置项,shuffle 服务的注册超时时间(以毫秒为单位)
spark.shuffle.registration.maxAttempts 30 spark-defaults.conf 配置文件中的 spark.shuffle.registration.maxAttempts 配置项,shuffle 服务的注册最大尝试次数
spark.shuffle.service.enabled true spark-defaults.conf 配置文件中的 spark.shuffle.service.enabled 配置项,是否启用外部 shuffle 服务
spark.sql.shuffle.partitions 4096 spark-defaults.conf 配置文件中的 spark.sql.shuffle.partitions 配置项,spark sql shuffle 的分区数
spark.sql.warehouse.dir /hive/warehouse spark-defaults.conf 配置文件中的 spark.sql.shuffle.partitions 配置项,spark sql warehouse 的路径
spark.submit.deployMode client spark-defaults.conf 配置文件中的 spark.submit.deployMode 配置项,spark driver 的部署模式
spark.yarn.am.cores 2 spark-defaults.conf 配置文件中的 spark.yarn.am.cores 配置项,spark ApplicationMaster 的核数
spark.yarn.am.memory 2g spark-defaults.conf 配置文件中的 spark.yarn.am.memory 配置项,spark ApplicationMaster 的内存大小
spark.yarn.am.memoryOverhead 1024 spark-defaults.conf 配置文件中的 spark.yarn.am.memoryOverhead 配置项,spark ApplicationMaster 的堆外内存量
spark.yarn.am.waitTime 100s spark-defaults.conf 配置文件中的 spark.yarn.am.waitTime 配置项,在群集模式下,YARN Application Master 等待 SparkContext 初始化的时间
spark.yarn.executor.memoryOverhead 2048 spark-defaults.conf 配置文件中的 spark.yarn.executor.memoryOverhead 配置项,在群集模式下,每个 executor 要分配的堆外内存量
spark.yarn.queue default spark-defaults.conf 配置文件中的 spark.yarn.queue 配置项,在群集模式下,spark 在 YARN 调度下的默认队列
spark.eventLog.enabled true spark-defaults.conf 配置文件中的 spark.eventLog.enabled 配置项, spark 是否开启 eventLog
spark.history.kerberos.enabled true spark-defaults.conf 配置文件中的 spark.history.kerberos.enabled 配置项, spark jobhistoryserver 是否开启 KERBEROS 认证
spark.history.retainedApplications 50 spark-defaults.conf 配置文件中的 spark.history.retainedApplications 配置项, spark jobhistoryserver 最多保留的 application 数
spark.history.store.maxDiskUsage 40g spark-defaults.conf 配置文件中的 spark.history.store.maxDiskUsage 配置项, spark jobhistoryserver 最多使用的存储容量
spark.history.ui.maxApplications 50000 spark-defaults.conf 配置文件中的 spark.history.ui.maxApplications 配置项, spark jobhistoryserver web ui 最多保留的 application 记录的数量
spark.cleaner.periodicGC.interval 5min spark-defaults.conf 配置文件中的 spark.cleaner.periodicGC.interval 配置项, 控制触发垃圾回收的频率。
spark.driver.extraJavaOptions -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -XX:ParGCCardsPerStrideChunk=1024 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:+UseCondCardMark -XX:PermSize=512m -XX:MaxPermSize=512m -XX:MaxDirectMemorySize=2048m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs -XX:OnOutOfMemoryError=”kill -9 %p” -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:./logs/kyuubi-server-gc-%t.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=50 -XX:GCLogFileSize=5M -XX:NewRatio=3 -Dio.netty.noPreferDirect=true -Dio.netty.recycler.maxCapacity=0 -Dio.netty.noUnsafe=true spark-defaults.conf 配置文件中的 spark.driver.extraJavaOptions 配置项,jobhistoryserver用。
spark.driver.extraJavaOptions.for.client -XX:PermSize=128m -XX:MaxPermSize=128m -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution spark-defaults.conf 配置文件中的 spark.driver.extraJavaOptions.for.client 配置项, client 用。
spark.eventLog.compress true spark-defaults.conf 配置文件中的 spark.eventLog.compress 配置项, 是否压缩 spark eventLog。
spark.hadoop.fs.file.impl.disable.cache true spark-defaults.conf 配置文件中的 spark.hadoop.fs.file.impl.disable.cache 配置项, 是否去本地缓存 cache 中找连接
spark.hadoop.fs.hdfs.impl.disable.cache true spark-defaults.conf 配置文件中的 spark.hadoop.fs.hdfs.impl.disable.cache 配置项, 是否去 HDFS 缓存 cache 中找连接
spark.hadoop.hadoop.proxyuser.hive.groups * spark-defaults.conf 配置文件中的 spark.hadoop.hadoop.proxyuser.hive.groups 配置项, Hive 用户的代理用户组
spark.hadoop.hadoop.proxyuser.hive.hosts * spark-defaults.conf 配置文件中的 spark.hadoop.hadoop.proxyuser.hive.hosts 配置项, Hive 用户的代理主机
spark.kyuubi.backend.session.idle.timeout 600min spark-defaults.conf 配置文件中的 spark.kyuubi.backend.session.idle.timeout 配置项
spark.kyuubi.backend.session.init.timeout 300s spark-defaults.conf 配置文件中的 spark.kyuubi.backend.session.init.timeout 配置项
spark.kyuubi.backend.session.wait.other.times 300 spark-defaults.conf 配置文件中的 spark.kyuubi.backend.session.wait.other.times 配置项
spark.network.timeout 600s spark-defaults.conf 配置文件中的 spark.network.timeout 配置项, 所有网络交互的默认超时时间
spark.rpc.askTimeout 600s spark-defaults.conf 配置文件中的 spark.rpc.askTimeout 配置项, RPC询问操作等待超时之前的持续时间
spark.serializer org.apache.spark.serializer.KryoSerializer spark-defaults.conf 配置文件中的 spark.serializer 配置项, 用于序列化将通过网络发送或需要以序列化形式缓存的对象的类
spark.sql.autoBroadcastJoinThreshold 209715200 spark-defaults.conf 配置文件中的 spark.sql.autoBroadcastJoinThreshold 配置项, 配置表的最大大小(以字节为单位),该表在执行联接时将广播到所有工作程序节点
spark.sql.adaptive.enabled true spark-defaults.conf 配置文件中的 spark.sql.adaptive.enabled 配置项, 是否开启 spark sql adaptive, 利用运行时统计信息来选择最有效的查询执行计划
spark.sql.crossJoin.enabled true spark-defaults.conf 配置文件中的 spark.sql.crossJoin.enabled 配置项, 是否支持 笛卡尔积操作
spark.sql.runSQLOnFiles false spark-defaults.conf 配置文件中的 spark.sql.runSQLOnFiles 配置项, 是否开启 spark sql runSQLOnFiles
spark.sql.statistics.fallBackToHdfs true spark-defaults.conf 配置文件中的 spark.sql.statistics.fallBackToHdfs 配置项, 如果无法通过表元数据获得表统计信息,可以通过退回到HDFS来启用表大小统计信息的自动计算。
spark.yarn.am.extraJavaOptions -XX:PermSize=512m -XX:MaxPermSize=512m -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution spark-defaults.conf 配置文件中的 spark.yarn.am.extraJavaOptions 配置项
spark.executor.extraJavaOptions -XX:PermSize=1024m -XX:MaxPermSize=1024m -XX:MaxDirectMemorySize=1024m -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution spark-defaults.conf 配置文件中的 spark.executor.extraJavaOptions 配置项
spark.history.fs.cleaner.enabled true spark-defaults.conf 配置文件中的 spark.history.fs.cleaner.enabled 配置项, 指定历史记录服务器是否应定期从存储中清除事件日志
spark.history.fs.cleaner.interval 30min spark-defaults.conf 配置文件中的 spark.history.fs.cleaner.interval 配置项, 指定历史记录服务器定期从存储中清除事件日志的频率
spark.history.fs.update.interval 5s spark-defaults.conf 配置文件中的 spark.history.fs.update.interval 配置项, 指定历史记录服务器定期从存储中更新事件日志的频率
spark.history.fs.cleaner.maxAge 15d spark-defaults.conf 配置文件中的 spark.history.fs.cleaner.maxAge 配置项, 文件系统历史记录清理程序运行时,早于此历史记录的作业历史记录文件将被删除
spark.history.provider org.apache.spark.deploy.history.FsHistoryProvider spark-defaults.conf 配置文件中的 spark.history.provider 配置项, 实现应用程序历史记录后端的类的名称
spark.extraListeners com.netease.music.da.metahub.lineage.spark.SparkTableLineageListener spark-defaults.conf 配置文件中的 spark.extraListeners 配置项, 初始化SparkContext时,将创建这些类的实例并向Spark的侦听器总线注册
spark.sql.queryExecutionListeners com.netease.music.da.metahub.lineage.spark.SparkTableLineageListener spark-defaults.conf 配置文件中的 spark.sql.queryExecutionListeners 配置项
spark.sql.extensions org.apache.ranger.authorization.spark.authorizer.RangerSparkSQLExtension spark-defaults.conf 配置文件中的 spark.sql.extensions 配置项,spark sql 拓展
spark.sql.catalogImplementation hive spark-defaults.conf 配置文件中的 spark.sql.catalogImplementation 配置项

配置组:conf_spark_thrift_fairscheduler

参数名 默认值 备注
ranger.plugin.hive.policy.cache.dir policycache ranger-hive-security.xml 配置文件中的 ranger.plugin.hive.policy.cache.dir 配置项, Hive Ranger plugin 的 policy 的缓存路径
ranger.plugin.hive.policy.pollIntervalMs 5000 ranger-hive-security.xml 配置文件中的 ranger.plugin.hive.policy.pollIntervalMs 配置项
ranger.plugin.hive.policy.source.impl org.apache.ranger.admin.client.RangerAdminRESTClient ranger-hive-security.xml 配置文件中的 ranger.plugin.hive.policy.source.impl 配置项

配置组:linegae_xml

参数名 默认值 备注
metahub.notification.hook.asynchronous false lineage.xml 配置文件中的 metahub.notification.hook.asynchronous 配置项

高级参数配置

Spark 服务支持 spark-defaults.conf 配置文件的配置增加服务,请按照以下步骤执行:

明确需要添加的参数名称,以 spark-defaults.conf 的 hive.mapjoin.bucket.cache.size 配置项为例,在 spark-defaults.conf 分组下新增对应的字段名,类型为string

Generated

增加新配置项后即可设置该新配置项的值

Generated

应用当前新配置后,重启服务,勾选同步配置让配置生效