Mapreduce并行副本vs http线程

时间:2015-04-24 07:36:56

标签: hadoop mapreduce

我无法获得以下2个mapreduce作业配置属性之间的差异。

  

mapreduce.reduce.shuffle.parallelcopies

     

mapreduce.tasktracker.http.threads

mapreduce.reduce.shuffle.parallelcopies是在复制(随机播放)阶段由reduce运行的并行传输数。

mapreduce.tasktracker.http.threads是http服务器的工作线程数。这用于地图输出提取。

parallelcopies表示并行传输的数量,我猜它一次是将地图输出并行传输到减速器。 http线程表示在reducer中运行的http线程数量,用于复制地图输出。

我无法区分这两个属性,看起来与我相同,因为两者都与减速器的取料器数量有关。

请帮助我理解这些属性的实际意图以及它们如何帮助?

1 个答案:

答案 0 :(得分:1)

下面的图片让您了解mapreduce程序的流程。

在map贴图之后,运行map任务的节点将通过HTTP线程提供输出文件,这些线程的数量将由 mapreduce.tasktracker.http.threads 管理。默认情况下它是40,表示tasktracker将通过40个http线程获取数据。因此它可以服务于40个减速器(最小),同时它也可以变高。

只要数据在地图侧可用,reducer就会从每个映射器节点复制它们。所以他们必须从许多节点复制。为了利用所有系统资源并减少复制中间数据的时间,reducer将并行执行此操作。此并行副本的数量由 mapreduce.reduce.shuffle.parallelcopies 管理。默认情况下它是5,因此一个reducer可以从5个地图输出并行复制。

enter image description here