【发布时间】:2015-02-26 12:20:41
【问题描述】:
我正在使用 mrjob 在 EMR 上运行工作;我使用的是 AMI 2.4.7 版和 Hadoop 1.0.3 版。
我想为一个作业指定 reducer 的数量,因为我想为下一个作业提供更高的并行度。阅读此站点上其他问题的答案,我认为我应该设置这些参数,所以我做了:
mapred.reduce.tasks=576
mapred.tasktracker.reduce.tasks.maximum=24
但是,似乎没有选择第二个选项:EMR 和 Hadoop 接口都报告有 576 个 reduce 任务要运行,但集群的容量保持在 72 个(r3.8xlarge 实例)。
我什至看到该选项设置在var/lib/hadoop/mapred/taskTracker/hadoop/jobcache/job_XXX/job.xml:<property><name>mapred.tasktracker.reduce.tasks.maximum</name><value>24</value></property> 中。尽管如此,只有默认数量 (9) 的实际减速器同时运行。
为什么 EMR 没有选择该选项?或者是否有其他方法可以在实例上强制使用更多数量的 reducer?
【问题讨论】: