为什么 Spark UI 上显示的 Executor Cores 与 Yarn 上的 vCore 数量不符?

你可能会在自己的集群上观察到:Spark UI 上显示的 Executor Cores 与 Yarn 上的 vCore 数量是不符的,本文将会给出详细解释。本文和《为什么我的集群一个 Spark Executor / Yarn Container 只有一个vCore?》一文有比较密切的关系,建议先阅读一下此文,本文可以看作是这篇文章的“补充”,因为原文只讨论了Yarn上的情况,并没有Spark UI和本地实际资源分配的讨论和验证!

注意:本文测试和说明使用的EMR 6.8,这一点非常重要,因为在后续的EMR版本上,例如EMR 6.11,会默认启用一个特别的配置,导致表现出的行为与本文描述有很大的出路,关于这种情况,在《》一文会给出详细的说明 。

集群配置

为了便于观察资源占用情况,我们特别使用了只有一个Worker节点的EMR集群,版本为EMR 6.8(注意:某些版本的EMR表现的行为与本文描述的情形是完全不同的,例如 EMR 6.11,因为集群的默认配置会有差异,关于这一情况,请参考《为什么Spark UI上显示的Executor数量和Cores与请求值完全不符?》 。其中:Master节点:8 vCore / 64 GB, 1个Core节点:16 vCore / 128

猜你喜欢

转载自blog.csdn.net/bluishglc/article/details/132469402