通过发出以下命令,我停止了所有以伪分布式模式运行的代理。
stop-all.sh
然后我将“mapred site.xml”的配置文件更改为1个Map任务
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>1</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>1</value>
</property>
</configuration>
你看,我已经设置了1个maptask和1个reducetask来运行。
然后我又回到所有探员那里
start-all.sh
运行map reduce程序,但我仍然看到2个任务,而不是mapred-site.xml中配置的1个任务。
任务的屏幕截图如下所示,
为什么会出现这样的差异,请引导我通过
谢谢
1条答案
按热度按时间0s7z1bwu1#
好的,那么这个属性mapred.tasktracker.map.tasks.maximum告诉任务跟踪器一次可以运行的最大任务数(Map器任务)。基本上,您限制每个运行TaskTracker的节点一次运行一个Map器。
如果您有10个节点,那么您应该能够并行运行10个Map器。
但是,如果您的作业需要2个Map器(这完全基于输入数据的大小和块大小,除非您扩展inputformat),并且只有一个节点,那么Map任务将在该节点上顺序执行。
希望现在更清楚了。