兰溪旧房翻新怎么选?先看施工兜底能力
2026/8/22 2:34:16
在生产环境下,有时会遇到file not found、file lost 这类错误,在这种情况下,很有可能是Executor 的BlockManager 在拉取数据的时候,无法建立连接,然后超过默认的连接等待时长60s后,宣告数据拉取失败,如果反复尝试都拉取不到数据,可能会导致Spark 作业的崩溃。这种情况也可能会导致DAGScheduler 反复提交几次stage,TaskScheduler 返回提交几次task,大大延长了我们的Spark 作业的运行时间。
在 Spark 中调节 JVM 的连接等待时长通常涉及修改资源管理器的相关配置参数。具体步骤如下(以 YARN 模式为例):
核心参数为spark.yarn.am.longPollWaitTime,该参数控制 Application Master(AM)向 Resource Manager(RM)请求资源时的轮询等待时间(单位:毫秒)。
默认值通常为5000(即 5 秒),若集群资源紧张或响应较慢,可适当提高此值。
spark-defaults.conf文件在 Spark 配置文件conf/spark-defaults.conf中添加:
spark.yarn.am.longPollWaitTime 10000 # 设置为 10 秒在spark-submit命令中通过--conf参数设置:
spark-submit \ --conf "spark.yarn.am.longPollWaitTime=10000" \ --class your.MainClass \ /path/to/your-app.jarConnection timed out错误)。5000→10000→15000)。spark.network.timeout(默认120s)或spark.rpc.lookupTimeout(默认120s)。提交任务后,在 Spark Web UI 的Environment页签检查参数是否生效:
spark.yarn.am.longPollWaitTime: 10000通过调整此参数,可优化 JVM 在资源请求阶段的连接等待行为。