我通过将输入文件分为四份使得hadoop程序运行时有四个map,但是我无法确定到底哪个map在哪个节点上运行。Web UI显示如下:
我的集群nodeManager有两个,这里好像表明四个map都运行在了centos2节点上。试了多次都是同一个结果。
为什么map任务不能分配到多个节点上呢?还有,我的配置文件基本上是默认的,也就是说mapreduce.job.maps
为默认值2
, mapreduce.tasktracker.map.tasks.maximum
也为默认值2
, 个人觉得一个设置了每个job
的task
数为2
, 一个设置了每个tasktracker
(每个节点)的任务数不超过2
,不可能存在一个节点上四个map的情况啊?这两个配置参数究竟是如何影响程序的?
侃侃尔雅