Hadoop中的减速器数量

Moh*_*ain 6 hadoop mapreduce bigdata reducers hadoop2

我正在学习hadoop,发现减速器的数量非常令人困惑:

1)减速器的数量与分区的数量相同。

2)减速器的数量为0.95或1.75乘以(节点数)*(每个节点的最大容器数)。

3)减速器的数量由mapred.reduce.tasks设置。

4)减速器的数量最接近:块大小的倍数*任务时间在5到15分钟之间*创建尽可能少的文件。

我很困惑,我们是显式设置减速器的数量还是由mapreduce程序本身完成?

减速器的数量如何计算?请告诉我如何计算减速器的数量。

ViK*_*KiG 3

1 - 减速器的数量与分区的数量 - 相同False。单个减速器可能适用于一个或多个分区。但是选定的分区将在其启动的减速器上完全完成。

2 - 这只是您可以为 Hadoop 集群配置的最大减速器的理论数量。这在很大程度上取决于您正在处理的数据类型(决定减速器承担了多少繁重的工作)。

3 -mapred-site.xml配置只是对 Yarn 的建议。但在内部,ResourceManager 运行着自己的算法,可以动态优化事物。所以这个值并不是每次运行的减速器任务的数量。

4 - 这似乎有点不切实际。我的块大小可能为 128MB,每次我都无法拥有 128*5 的最小数量的减速器。我相信这又是错误的。

没有可以配置或计算的固定数量的减速器任务。这取决于实际可分配的资源量。