Spark2配置说明
更新时间: 2023-02-03 18:43:49
阅读 241
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
增加新配置项后即可设置该新配置项的值
应用当前新配置后,重启服务,勾选同步配置让配置生效
文档反馈
以上内容对您是否有帮助?