我明确指定了我的java程序中使用的映射器数量conf.setNumMapTasks()
,但是当作业结束时,计数器显示已启动的映射任务的数量超过了指定的值.如何将映射器的数量限制为指定值?
根据Hadoop API,Jonf.setNumMapTasks只是对Hadoop运行时的一个提示.映射任务的总数等于要处理的输入数据中的块数.
虽然,应该可以使用mapred.tasktracker.map.tasks.maximum
和mapred.tasktracker.reduce.tasks.maximum
mapred-site.xml 配置每个节点的map/reduce插槽数.这样就可以配置在整个集群中并行执行的映射器/缩减器的总数.