目录
记录Spark中的timeout参数
前言
Spark中许多timeout参数,本文对core和sql模块的相关参数进行梳理,基于spark-2.3.
已废弃参数
spark从1.4开始用rpc取代了akka,所以akka相关的参数被rpc参数取代。详情请看[RPC]部分.
- Spark.akka.askTimeout -> spark.rpc.spark.rpc.askTimeout
- spark.akka.lookupTimeout -> spark.rpc.lookupTimeout
Misc
spark.starvation.timeout
-
spark.blacklist.timeout
默认 1h
一个节点或者executor对整个应用而言被blacklist的时间
-
spark.files.fetchTimeout
默认60s
通过调用SparkContex.addFile方法添加文件时的timeout.
-
spark.launcher.childConectionTimeout
默认10s
当调用SparkLauncher start()方法时,等待子线程和launcher server通信的timeout.
-
spark.starvation.timeout
默认15s
用于在应用初始阶段,以其为时间间隔检查是否task已经启动, 如果没有启动则表示task处于饥饿状态,打出warning通知用户。如果已经task启动, 则退出检查。
Dynamic Allocation
-
spark.dynamicAllocation.cachedExecutorIdleTimeout
spark.dynamicAllocation.executorIdleTimeout spark.dynamicAllocation.schedulerBacklogTimeout spark.dynamicAllocation.shuffleTimeout spark.dynamicAllocation.sustainedSchedulerBacklogTimeout
Network
spark.network.auth.rpcTimeout spark.network.timeout
RPC
spark.rpc.RpcTimeout spark.rpc.askTimeout spark.rpc.long.timeout spark.rpc.lookupTimeout spark.rpc.short.timeout
Shuffle
spark.shuffle.io.connectionTimeout spark.shuffle.registration.timeout spark.shuffle.sasl.timeout
SQL
spark.sql.broadcastTimeout spark.sql.catalyst.plans.logical.EventTimeTimeout spark.sql.catalyst.plans.logical.NoTimeout spark.sql.catalyst.plans.logical.ProcessingTimeTimeout spark.sql.streaming.GroupStateTimeout spark.sql.streaming.stopTimeout
Storage
spark.storage.blockManagerSlaveTimeoutMs spark.storage.blockManagerTimeout
Task
spark.task.killTimeout spark.task.reaper.killTimeout
Worker
spark.worker.driverTerminateTimeout spark.worker.timeout