每个Map运行的任务与mapred-site.xml中配置的任务不一致

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

通过发出以下命令,我停止了所有以伪分布式模式运行的代理。

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个任务。
任务的屏幕截图如下所示,

为什么会出现这样的差异,请引导我通过
谢谢

0s7z1bwu

0s7z1bwu1#

好的,那么这个属性mapred.tasktracker.map.tasks.maximum告诉任务跟踪器一次可以运行的最大任务数(Map器任务)。基本上,您限制每个运行TaskTracker的节点一次运行一个Map器。
如果您有10个节点,那么您应该能够并行运行10个Map器。
但是,如果您的作业需要2个Map器(这完全基于输入数据的大小和块大小,除非您扩展inputformat),并且只有一个节点,那么Map任务将在该节点上顺序执行。
希望现在更清楚了。

相关问题