在Kubernetes上运行Spark时的内存溢出问题
本文讨论了在Kubernetes上运行Spark时,由于两个基础设施设置不当导致的内存溢出问题。这两个设置分别是:将`spark.kubernetes.local.dirs.tmpfs=true`设置为RAM-backed local scratch directories,以及使用硬`podAffinity`规则将所有executor强制放置在同一个节点上。这些设置导致shuffle spill占用节点内存而非磁盘,从而引发内存溢出问题。通过调整这些设置,可以解决此问题。
入选理由:设置`spark.kubernetes.local.dirs.tmpfs=true`将所有shuffle spill数据存储在节点内存中,可能导致内存溢出。














