hadoop配置中mapred.tasktracker.tasks.maximum的默认值是多少

xdyibdwo  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(385)

我在链接中找到了这个配置名http://wiki.apache.org/hadoop/howmanymapsandreduces
然而,当我试图搜索hadoop文档时,我发现配置名称如下

mapred.tasktracker.reduce.tasks.maximum   default value 2
 mapred.tasktracker.map.tasks.maximum      default value 2

http://hadoop.apache.org/docs/r1.1.1/mapred-default.html 但是我找不到mapred.tasktracker.tasks.maximum?请建议我是否缺少一些明显的理解?

xzv2uavs

xzv2uavs1#

第一个链接解释了应该为mapreduce作业设置多少Map器(只是一个指示)和reducer,以便实现更好的负载平衡。
您提到的第二件事是在每个节点中可以同时运行多少map任务和reduce任务。在http://hadoop.apache.org/docs/r1.1.1/mapred-default.html 这些配置显示为:

mapred.tasktracker.map.tasks.maximum         2  
mapred.tasktracker.reduce.tasks.maximum      2

如果你想改变它们,那么你应该改变文件 {$HADOOP_HOME}/conf/mapred-site.xml ,在哪里 ${HADOOP_HOME} 是hadoop的路径。
例如,如果确定需要8个异径管(可以通过设置 conf.setNumReduceTasks(8); 在代码中),并保留这些默认值,假设集群中有2个节点,则每个节点将在开始时运行2个Map任务,因此,总体而言,2x2=4个Map任务将在集群中运行。当这些Map任务中的任何一个完成时,节点将运行队列中的下一个Map任务。在任何时候,集群中将运行4个map任务(最多)。
编辑:我发现了错误。第一个环节是: The right number of reduces seems to be 0.95 or 1.75 * (nodes * mapred.tasktracker.tasks.maximum). 应该是: The right number of reduces seems to be 0.95 or 1.75 * (nodes * mapred.tasktracker.reduce.tasks.maximum).

相关问题