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

AKS环境下Spark History Server无法查看驱动日志问题排查

问题分析与解决方案

核心问题

Spark History Server无法解析Snappy压缩的事件日志和驱动日志,因为History Server自身未配置对应的压缩Codec参数,或者运行环境缺少Snappy库支持,导致抛出CODEC_NOT_AVAILABLE错误。

解决步骤

1. 为Spark History Server配置Snappy压缩Codec

你的Spark应用使用spark.io.compression.codec: snappy生成压缩日志,History Server必须使用相同的配置才能解析这些日志。

如果是通过Helm部署的Spark History Server,修改你的Helm values文件,添加History Server的Spark配置:

sparkHistoryServer:
  sparkConf:
    spark.io.compression.codec: "snappy"
    spark.history.fs.logDirectory: "file:/data"  # 确保和应用配置的日志目录一致

然后执行Helm升级命令重新部署:

helm upgrade my-release bitnami/spark --values your-custom-values.yaml

2. 验证History Server镜像包含Snappy库

Bitnami官方Spark镜像默认包含Snappy依赖,但可以进入History Server Pod确认:

kubectl exec -it <your-history-server-pod-name> -- bash
# 检查Snappy相关Jar包是否存在
ls /opt/spark/jars | grep snappy

如果输出为空,说明镜像缺少Snappy库,需更换为包含snappy-java的Spark镜像,或在自定义镜像中添加依赖。

3. 验证修复效果

重新部署后,查看History Server的Pod日志,确认不再出现CODEC_NOT_AVAILABLE错误:

kubectl logs <your-history-server-pod-name>

之后访问Spark History Server UI,应该能正常加载驱动和执行器日志。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:22:04