Changing mapred.reduce.tasks



我应该在哪个文件中设置reducer的数量并设置mapred.reduce.tasks参数?

我的conf文件夹中只有以下文件,它们都没有这个参数:

ubuntu@group-3-vm1:~/conf$ ls
capacity-scheduler.xml  hdfs-site.xml  mapred-site.xml  yarn-site.xml
core-site.xml           hive-site.xml  tez-site.xml

所有Hadoop配置属性都被划分为以下组:

hadoop - 1. - x.x:

    core- core-site.xml
  1. hdfs - hdfs-site.xml
  2. mapred - mapred-site.xml

hadoop - 2. - x.x

    core- core-site.xml
  1. hdfs - hdfs-site.xml
  2. mapreduce - mapred-site.xml
  3. yarn - yarn-site.xml

所以你想改变reducer的数量,即mapred.reduce.tasks。您必须在'mapred-site.xml'文件中保留此参数。

更新:
可以在"mapred-site.xml"文件中指定mapred.reduce.tasks。这将为所有将在hadoop安装上运行的作业设置配置。在我看来,这不是一个好主意。

减速机的理想数量按作业要求设定。您可以使用下面提供的选项来执行此操作。


可以在运行/启动hadoop作业时通过命令行设置作业的Reducer数量。

hadoop jar <main_jar.jar> Main_class -D mapred.reduce.tasks=<number_of_reducers>

另一种方法是,在你的Driver类中加入Job配置。

job.setNumReduceTasks(number_of_reducers);

不需要在任何配置文件中设置属性(mapred.reduce.tasks)。默认值为1。

如果你正在使用hadoop 2,最好使用 mapreduce.job.reduces 而不是 mapred.reduce.tasks

相关内容

  • 没有找到相关文章

最新更新