Google Dataproc节点空闲



在运行spark作业时,Dataproc集群中的一个节点总是空闲的。我试过删除和重新创建群集等。但是它总是有一个空闲节点。

原因似乎可以从日志中每隔几秒钟出现的这三行来说明:
Trying to fulfill reservation for application application_1476080745886_0001 on node: cluster-4-w-0.c.xxxx.internal:39080
Reserved container  application=application_1476080745886_0001 resource=<memory:4608, vCores:1> queue=default: capacity=1.0, absoluteCapacity=1.0, usedResources=<memory:25600, vCores:6>, usedCapacity=0.90909094, absoluteUsedCapacity=0.90909094, numApps=1, numContainers=6 usedCapacity=0.90909094 absoluteUsedCapacity=0.90909094 used=<memory:25600, vCores:6> cluster=<memory:28160, vCores:40>
Skipping scheduling since node cluster-4-w-0.c.xxxx.internal:39080 is reserved by application appattempt_1476080745886_0001_000001

Node cluster-4-w-0.c.xxxx.internal为空闲节点。为什么节点被appattempt_1476080745886_0001_000001保留并且不能作为执行器使用?

由于应用程序尝试,匹配您的Spark应用程序的应用程序ID,我认为应用程序尝试是Spark的YARN AppMaster。默认情况下,Spark appmaster与executor(半个节点)具有相同的(有些过度的)内存占用。因此,默认情况下,应该消耗一半worker。

如果你不改变一些内存配置,我不知道为什么在那个节点上不会有至少一个执行器。在任何情况下,你都可以通过减少spark.yarn.am.cores和spark.yarn.am.memory来缩小AppMaster。

您可以通过ssh进入集群并运行yarn application -list或导航到ResourceManager的web来更好地调试容器打包。

相关内容

  • 没有找到相关文章

最新更新