spark历史服务器配置指南:追踪任务全生命周期
Spark 应用运行时,可通过 4040 端口的 Web UI 实时监控任务状态,但应用停止后该界面会关闭。为了追溯已完成任务的执行详情(如 DAG、Stage、Task 指标),需配置 Spark 历史服务器(History Server),持久化存储任务日志并提供历史查询能力。本文详细讲解历史服务器的配置步骤、启动方法及日志管理,帮助开发者完整追踪任务生命周期。
历史服务器核心作用与原理
解决的核心问题
- 实时 UI 局限性:Spark 应用运行时的 4040 端口 UI 仅在应用存活时可用,应用停止后无法查看历史数据;
- 日志持久化需求:生产环境需留存任务日志用于问题排查、性能优化和审计;
- 集群监控补充:历史服务器可整合所有应用的历史数据,形成全局任务执行报表。
工作原理
- 日志收集:Spark 应用运行时,将事件日志(如任务启动、Stage 完成、数据 Shuffle 等)写入指定存储(HDFS 或本地文件系统);
- 历史服务器读取:History Server 启动后,从指定存储目录加载历史日志,解析并生成可视化 UI;
- Web 访问:用户通过 History Server 的 Web 界面(默认 18080 端口)查询历史任务详情。
历史服务器配置步骤
环境前置条件
- 已安装并配置 Spark 集群(本地模式、Standalone 或 YARN 模式均可);
- 若使用 HDFS 存储日志,需确保 HDFS 集群正常运行,且 Spark 有权限读写 HDFS 目录。
配置事件日志存储(spark-defaults.conf)
Spark 事件日志的存储路径和开关通过 spark-defaults.conf 配置,步骤如下:
