hadoop - 强制 Hadoop 运行具有多个 reducer 的应用程序

标签 hadoop configuration mapreduce reduce hadoop-yarn

我有一个 Hadoop Map-reduce 应用程序,其代码中包含以下行(将 reducer 的数量设置为 1)。

job.setNumReduceTasks(1)

我想用多个 reducer 运行这个应用程序,所以我尝试将以下 XML 代码添加到 $HADOOP_CONF_DIR/mapred-site.xml

 <property>
  <name>mapreduce.job.reduces</name>
  <value>2</value>
 </property>

但是,代码仍然使用 1 个 reducer 运行。 有没有办法强制 hadoop 应用程序与 2 个 reducer 一起运行,或者应用程序代码的优先级是否总是更高?

最佳答案

在这种情况下,您需要修改代码,因为对 job.setNumReduceTasks(1) 的调用优先于任何配置或命令行传递的属性

关于hadoop - 强制 Hadoop 运行具有多个 reducer 的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20696171/

相关文章:

java - 记录 MapReduce 作业的标准做法

java - 如果驱动程序崩溃,则终止 MapReduce 作业

hadoop - 在YARN上运行Hadoop作业-杀死容器

hadoop - 如何在一个终端提交多个 mapreduce 作业?

eclipse - 露天配置

angularjs - 使用 typescript 类注册时如何访问服务提供商

hadoop - Yarn 给现有的 map reduce 带来了什么额外的好处?

hadoop - Name Node 同时作为 Secondary Name Node 是否理想?

java - 运行Hadoop时如何避免OutOfMemoryException?

sqlite - FluentNHibernate SQLite 默认配置 ProxyFactoryFactory