首页 > 解决方案 > Spark on Kubernetes:当作业失败时是否可以保留崩溃的 Pod?

问题描述

我有一个奇怪的问题,即在 Kubernetes 上运行的 Spark 作业失败,在进行大量洗牌的作业中出现很多“缺少 shuffle X 的输出位置”。增加执行程序内存无济于事。在本地 [*] 模式下仅在 Kubernetes 集群的单个节点上运行的相同作业运行良好,但是我怀疑它与 Kubernetes 或底层 Docker 有关。当 executor 死亡时,pod 会立即被删除,所以我无法追踪它失败的原因。是否有一个选项可以保留失败的 pod,以便我可以查看它们的日志?

标签: apache-sparkkubernetes

解决方案


您可以像这样查看上一个终止的 pod 的日志:

kubectl logs -p <terminated pod name>

还使用此处spec.ttlSecondsAfterFinished提到的作业字段


推荐阅读