Hadoop在Hadoop 2.7中每个容器增加了超过1个内核



我听说有一种方法可以在Hadoop 2.7 yarn中添加32个内核或任何一个内核到1个容器。

这是可能的吗?有人有我需要改变的样例配置来实现这一点吗?

测试将是terassort,将我的40个内核添加到1个容器作业。

对于vcore,如下配置:

yarn.scheduler。maximum-allocation- vCores -指定每个容器请求的最大vCores分配

通常在yarn-site.xml中,将此值设置为32。我认为,任何大于32的值都会被YARN拒绝。

  <property>
    <name>yarn.scheduler.maximum-allocation-vcores</name>
    <value>32</value>
  </property>

如果未设置此值,则YARN RM采用默认值,即"4"

public static final int DEFAULT_RM_SCHEDULER_MAXIMUM_ALLOCATION_VCORES = 4;

如果您正在运行MapReduce应用程序,那么您还需要在mapred-site.xml:

中设置两个配置参数。
  • mapreduce.map.cpu。vcores -从调度程序请求map任务的vcores数
  • mapreduce.reduce.cpu。vcores -为reduce任务从调度器请求的vcores数
mapper/reducer请求的资源计算是在调度器代码中完成的。如果您希望调度程序同时考虑内存和CPU进行资源计算,那么您需要使用"DominantResourceCalculator"(它同时考虑CPU和内存进行资源计算)

例如,如果你正在使用容量调度程序,那么你需要在" Capacity - Scheduler .xml"文件中指定以下参数:

  <property>
    <name>yarn.scheduler.capacity.resource-calculator</name>
    <value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>
  </property>

请查看此链接:http://www.cloudera.com/content/www/en-us/documentation/enterprise/latest/topics/cdh_ig_yarn_tuning.html

给出各种配置参数的详细描述。

老实说,我不太了解Hadoop 2.7,但如果映射器能够利用更多的线程,每个map(或reduce)容器的内核数量可以通过在mapred-site.xml文件中设置这些属性来设置:

mapreduce.map.cpu。vcores -每个map任务从调度程序请求的虚拟核数。

mapreduce.reduce.cpu。vcores -每个reduce任务从调度器请求的虚拟核数。

请参考Hadoop文档

相关内容

  • 没有找到相关文章

最新更新