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

Spark 3.3.0仍遇FileNotFoundException,与PR#29350矛盾求助

问题分析与解决方案

可能的原因

  • 新旧版本SHS日志元数据冲突:你的环境同时运行Spark 2.4.5和3.3.0的History Server,两个版本对事件日志的索引、元数据存储逻辑存在差异。2.4.5的SHS处理日志时,可能遗留了对.inprogress文件的无效引用(比如应用完成后未正确更新元数据),3.3.0的SHS扫描到这些旧元数据时,仍会尝试查找已不存在的.inprogress文件,触发FileNotFoundException。
  • PR修复范围不匹配:你提到的PR主要解决Spark滚动生成事件日志过程中,SHS找不到当前正在写入的.inprogress文件的问题,但你的场景是旧版本日志残留无效引用,不在该PR的修复覆盖范围内。
  • 大规模日志扫描异常:LOG_DIR存有7万份日志,SHS扫描时可能出现索引缓存不一致、部分日志解析不完整的情况,导致错误引用已被清理或重命名的.inprogress文件。

解决方法

  • 清理无效元数据并重建索引
    1. 停止3.3.0版本的SHS。
    2. 删除LOG_DIR下的.spark-history目录(这是SHS存储索引的默认目录)。
    3. 重启3.3.0的SHS,让它重新扫描所有日志文件,生成全新的索引。
  • 隔离新旧版本日志目录
    将已完成的Spark应用日志迁移到独立目录,专供3.3.0的SHS读取,避免和2.4.5的SHS共享同一个日志目录,防止元数据互相干扰。
  • 修复残留的.inprogress文件
    检查LOG_DIR中是否存在已完成应用对应的.inprogress文件(应用已结束但文件未被重命名),手动将这类文件重命名为标准事件日志格式(去掉.inprogress后缀)。
  • 校验日志完整性
    针对无法被查看的应用,确认其对应的事件日志文件是否完整,若存在缺失,可从集群其他节点(如有日志副本)补充完整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 23:48:22