You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Databricks集群终止后获取Executor日志?

在Databricks集群终止后获取Executor日志的方法

当然可以!集群终止后丢失Executor日志是个挺常见的痛点,我整理了几个实用的方案,从提前配置到事后检索都有:

1. 提前配置集群日志持久化(最可靠的方案)

这是预防日志丢失的核心手段,在创建/编辑集群时就能设置:

  • 进入集群配置的Advanced Options → Logging标签页
  • 勾选“Enable logging”,然后指定日志存储路径(比如DBFS、AWS S3、Azure ADLS或者GCS),格式类似dbfs:/databricks/logs/my-cluster/
  • 保存配置后,后续所有Executor的stdout/stderr日志都会自动同步到这个路径下,哪怕集群终止了,你也可以通过Databricks的文件浏览器、CLI或者云存储控制台去查看、下载这些日志
  • 额外提醒:可以配置日志保留周期,避免存储被占满

2. 通过Databricks Jobs的内置日志功能(针对作业运行场景)

如果你的任务是通过Databricks Jobs提交的,那有更便捷的方式:

  • 打开对应Job的Run Details页面,向下滚动找到Executor Logs板块(哪怕集群已经终止)
  • 如果之前配置了日志持久化,这里会直接给出日志的访问链接;如果没提前配置,Databricks通常也会将作业的Executor日志临时保留一段时间(具体时长取决于你的Workspace配置)
  • 也可以用Databricks CLI命令快速获取日志:
    databricks runs get-output --run-id <你的作业运行ID>
    
    这个命令会返回作业的状态,以及Driver和Executor日志的存储路径,你可以根据路径去提取日志

3. 利用Spark事件日志回溯集群状态

如果需要查看Executor的执行细节(不仅仅是日志),可以启用Spark事件日志:

  • 在集群配置的Advanced Options → Spark标签页,添加以下配置:
    spark.eventLog.enabled true
    spark.eventLog.dir dbfs:/path/to/event/logs/
    
  • 事件日志会记录整个集群的运行数据,包括Executor的生命周期、任务执行情况等
  • 集群终止后,你可以启动一个新的临时集群,在Spark UI的History Server里加载这个事件日志,就能重新查看之前集群的完整UI,包括Executor的日志链接(前提是你同时配置了日志持久化)

注意事项

如果集群终止前没有配置任何日志持久化,那Executor日志大概率是无法找回的——因为Databricks默认不会保留已终止集群的Executor日志(Driver日志会保留是因为默认同步到了控制平面)。所以最好的方式还是提前配置日志持久化,防患于未然。

内容的提问来源于stack exchange,提问作者Tusharjain93

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 16:42:42