我在链接中找到了这个配置名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?请建议我是否缺少一些明显的理解?
1条答案
按热度按时间xzv2uavs1#
第一个链接解释了应该为mapreduce作业设置多少Map器(只是一个指示)和reducer,以便实现更好的负载平衡。
您提到的第二件事是在每个节点中可以同时运行多少map任务和reduce任务。在http://hadoop.apache.org/docs/r1.1.1/mapred-default.html 这些配置显示为:
如果你想改变它们,那么你应该改变文件
{$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).