首页 > 解决方案 > Apache Spark 在 YARN 上运行并修复分配

问题描述

现在发生的事情是 YARN 只是从一个 spark 作业中获取多个 executor 并将其交给另一个 spark 作业。结果,此 spark 作业遇到错误并死亡。

有没有办法或现有配置在 YARN 上运行的某个 spark 作业具有固定的资源分配?

标签: apache-sparkresourceshadoop-yarn

解决方案


固定资源分配是一个古老的概念,并没有带来适当的资源利用的好处。动态资源分配是 YARN 的高级/预期功能。所以,我建议你看看实际发生了什么。如果作业已经在运行,那么 YARN 不会占用资源并将其提供给其他人。如果资源不可用,则第二个作业将排队,并且不会从第一个作业中突然提取资源。原因是容器具有内存和 CPU 的组合。如果将内存分配给其他作业,那么基本上这意味着第一个作业的 JVM 将永远丢失。YARN 没有做上面提到的事情。


推荐阅读