Apache Nutch 2.3.1,增加 reducer 内存

Apache Nutch 2.3.1, increase reducer memory

如果 Hadoop 和 Hbase Nutch 2.3.1,我已经设置了一个小型集群。 hadoop版本是2.7.7,Hbase是0.98。我已经自定义了一个 hadoop 作业,现在我必须在驱动程序 class 中为 reducer 任务设置内存。我已经知道,在简单的 hadoop MR 作业中,您可以使用 JobConf 方法 setMemoryForReducer。但是 Nutch 中没有任何选项可用。在我的例子中,目前,reducer 内存通过 mapred-site.xml(Hadoop 配置)设置为 4 GB。但是对于Nutch,我必须加倍。

是否可以不更改 hadoop conf 文件,通过驱动程序 class 或 nutch-site.xml

终于,我找到了解决方案。 NutchJob 执行 objective。以下是代码片段

NutchJob job = NutchJob.getInstance(getConf(), "rankDomain-update");

int reducer_mem = 8192;
String memory = "-Xmx" + (int) (reducer_mem * 0.8)+ "m";
job.getConfiguration().setInt("mapreduce.reduce.memory.mb", reducer_mem);
job.getConfiguration().set("mapreduce.reduce.java.opts", memory );
// rest of code below