我在哪里设置配置mapreduce.jvm.numtasks



我在一本书(专业Hadoop解决方案)中读到,可以通过指定作业配置mapreduce.job.jvm.numtasks来启用JVM重用。我的问题是,我们需要在Driver类中设置这个吗?

我尝试在mapreduce.Job对象中查找此配置,但找不到。在我使用的Hadoop版本中,此API是否可以在其他位置替换?还是我找不到合适的地方?我使用的是Hadoop1.0.3版本。

我还试图寻找旧的物业mapred.job.reuse.jvm.num.tasks,但我找不到。

谢谢!

您的源代码指的是Hadoop2.x(YARN)的较新Hadoop配置API。在向YARN转变的过程中,许多配置名称都进行了修改。相关Hadoop版本的官方网站上记录了这些更改(在本例中,亚马逊的Elastic MapReduce采用了2.4.0版本)

它明确提到旧的配置名称mapred.job.reuse.jvm.num.tasks已被新名称mapreduce.job.jvm.numtasks所取代。

此外,MapReduce默认配置的文档中对mapreduce.job.jvm.numtasks:有这样的说明

每个jvm要运行的任务数。如果设置为-1,则没有限制。

Hadoop 1.2.1的默认配置(API到1.0.3的兼容配置)可以在GrepCode上找到。

关于您的问题,在哪里设置此属性。可以设置

  • 对于CCD_ 7中的整个簇
  • 或者您在作业(或JobContext)的配置中指定它,只要它没有在集群中声明为finaljob.getConfiguration().set("mapred.job.reuse.jvm.num.tasks","-1");

您可以在mapred-site.xml中定义它:

<property>
    <name>mapred.job.reuse.jvm.num.tasks</name>
    <value>-1</value>
</property> 

当您有较短的任务运行一段时间时,请使用它。

相关内容

  • 没有找到相关文章

最新更新