如何使hadoop/emr在每个节点上使用更多的容器

0pizxfdo  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(387)

我正在将我们的应用程序从hadoop1.0.3迁移到emrv5.1.0上的2.7。我让它运行,但我仍然有问题,让我的头在Yarn资源分配系统。使用emr提供的默认设置,hadoop只为每个节点分配一个容器,即使我为节点选择了更大的示例类型。这是一个问题,因为我们现在将使用两倍的节点来完成相同的工作量。
我想把更多的容器压缩到一个节点中,并确保我们正在使用所有可用的资源。我想我不应该碰它 yarn.nodemanager.resource.memory-mb 或者 yarn.nodemanager.resource.cpu-vcores ,因为这些是由emr设置的,以反映实际可用的资源。我必须更改哪些设置?

ds97pgxw

ds97pgxw1#

容器大小是通过设置内存(容器的默认条件)和vCore来定义的。可以配置以下各项:
yarn-scheduler.minimum-allocation-mb
yarn-scheduler.maximum-allocation-mb
yarn-scheduler.increment-allocation-mb
Yarn-调度器.最小分配-vcores
yarn-scheduler.maximum-allocation-vcores
yarn-scheduler.increment-allocation-vcores
必须满足以下所有条件(它们是每个容器的条件,但yarn.nodemanager.resource.cpu-vcores和yarn.nodemanager.resource.memory-mb是每个nodemanager,因此是每个datanode的条件除外):
1<=yarn-scheduler.minimum-allocation-vcores<=yarn-scheduler.maximum-allocation-vcores
yarn-scheduler.maximum-allocation-vcores<=yarn.nodemanager.resource.cpu-vcores
yarn-scheduler.increment-allocation-vcores=1
1024<=yarn-scheduler.minimum-allocation-mb<=yarn-scheduler.maximum-allocation-mb
yarn-scheduler.maximum-allocation-mb<=yarn.nodemanager.resource.memory-mb
yarn-scheduler.increment-allocation-mb=512
你也可以看到这个有用的链接https://www.cloudera.com/documentation/enterprise/5-4-x/topics/cdh_ig_yarn_tuning.html

相关问题