Hadoop作业只使用255个核心,但我有784个核心集群

时间:2018-01-12 16:15:53

标签: hadoop yarn emr amazon-emr

您好我有784核心EMR集群 我只运行一个hadoop作业,但Hadoop作业只使用255个核心,但我有784核心集群可以帮助我如何调整集群使用至少600个核心

enter image description here

2 个答案:

答案 0 :(得分:0)

一些背景知识 您在纱线中定义了“最大容器尺寸(VCores)" value - 可以分配给单个容器的最大vcores。这个数字显然小于可用vcores的总数。当您运行作业时,纱线会计算所需的容器和vcores数量。 示例:总vcores:100。每个容器的最大Vcores:10。作业使用3个容器,分配最大vcores - 使用30个vcores。

回答您的问题:检查作业使用的容器数量,并调整"最大容器尺寸(VCores)"值。

答案 1 :(得分:0)

您可能需要请求作业的mapper / reducer容器所需的vcore数量,或者提高yarn.scheduler.minimum-allocation-vcores:这样每个容器请求都会被给出可用的vcore的某个最小vcore。

默认 DefaultResourceCalculator 的EMR上的ResourceManager将始终为每个容器分配1个vcore,无论ApplicationMaster要求容器是什么。因此,您需要手动(使用资源管理器重新启动)或使用EMR configurations API将其转移到 capacity-scheduler.xml 上的 DominantResourceCalculator 启动,以便它可以满足您的应用程序的vcore请求 见类似:How to set the VCORES in hadoop mapreduce/yarn?