Yarn 在一个节点上分配了太多的 vcores

Yarn allocates too many vcores on a node

我在yarn-site.xml中设置我的最大分配vcores为1,物理核心数为2。所有节点都一样。然而,有时,YARN 会为一个节点分配 3 个容器。它报告该节点上有 -1 个 vcores 可用。最终发生的是 nodemanager 在该节点上关闭,作业失败。如何防止 YARN 过度分配 vcores?还有其他节点可用,使用了 0 个 vcore。我已经指定了可以分配的最小和最大 vcore 数量以及每个节点的物理 vcore 数量。当我查看 YARN 报告时,一切正常。

这个 answer 就是您要找的。不幸的是,默认的 YARN 行为似乎是在进行这些分配时只考虑内存。幸运的是,这可以更改,请参阅链接的答案。

我觉得 YARN 上的所有文档都被骗了,因为我发现没有任何内容提到此更改是必需的,但是有很多 blogs/posts 关于如何设置 vcore 值。