确定纱线中最佳的减速器数量

时间:2015-06-22 22:20:10

标签: hadoop mapreduce yarn mrv2

在MRv1中,我们有以下两个可配置参数来设置每个节点的Map和减少插槽的数量。

mapred.tasktracker.map.tasks.maximum
mapred.tasktracker.reduce.tasks.maximum

同样建议将Map插槽的数量略高于Reduce插槽的数量。 Map Reduce作业的理想减速器数量将等于或大于群集中可用的减少时隙数量。

如果我的上述理解不正确,请更正MRV1 ......

在MRv2中,我们不再使用插槽的概念,而是容器为Map / Reduce taks执行提供了所需的内存和CPU。

我的问题是,如何确定MRv2中任何Map Reduce作业的缩减器数量?

由于

1 个答案:

答案 0 :(得分:0)

mapred.tasktracker.reduce.tasks.maximum替换为

mapreduce.tasktracker.reduce.tasks.maximum

此属性表示给定任务跟踪器节点可以运行的最大并发reduce个插槽数。

mapred.tasktracker.map.tasks.maximum替换为

mapreduce.tasktracker.map.tasks.maximum

此属性表示给定任务跟踪器节点可以运行的最大并发map slots数。

使用YARN和MapReduce 2,不再为Map和Reduce任务预先配置静态插槽。整个群集可用于动态资源分配地图,并根据作业的需要减少。

但是如果你想为你的工作分配减速器的数量,你仍然可以通过在Map / Reduce工作中指定以下属性来实现。

mapreduce.job.reduces

请参阅此link以了解详情。

Mapper的数量基本上是根据数据的输入分割数分配的。假设您正在处理1GB数据集并且HDFS块大小为128MB并且您没有在作业中指定任何拆分大小,那么将考虑1GB/128MB=8拆分并将8 Mapper分配给此作业,但假设您已指定在您的代码中拆分大小为512MB,然后1GB/512MB=2映射器将被考虑并分配给此工作。

请参阅此link以了解有关它的更多信息。