【问题标题】:Hadoop Running reducers in parallelHadoop 并行运行减速器
【发布时间】:2016-03-24 16:41:35
【问题描述】:

我有一个 4G 文件,大约有 16 条轧机线,地图正在运行,其中 15 张地图中的 6 张地图并行分布。生成 35000 个密钥。我正在使用 MultipleTextoutput,因此每个减速器生成一个独立于其他减速器的输出。

我已经为 conf 配置了 25-50 个 reducer,但它总是一次运行 1 个 reducer。

机器 - 运行 hortonworks 堆栈的 4 核 32 克 ram 单机

如何让多个 reduce 任务并行运行?

【问题讨论】:

    标签: hadoop mapreduce hadoop2


    【解决方案1】:

    看看hadoopMapReduce Tutorial

    减少了多少?

    reduce 的正确数量似乎是 0.95 或 1.75 乘以 ( * )。

    对于 0.95,所有 reduce 都可以立即启动,并在地图完成时开始传输地图输出。在 1.75 中,更快的节点将完成第一轮 reduce 并启动第二波 reduce,从而更好地实现负载平衡。

    查看相关的 SE 问题:

    How hadoop decides how many nodes will do map and reduce tasks

    What is Ideal number of reducers on Hadoop?

    【讨论】:

    • 我的问题不是没有减速器,而是如何让减速器并行/同时运行。谢谢!
    • 框架决定减速器的数量,在你的情况下它是 1。如果这个数字大于 1,它们将并行运行。如果要覆盖它,请实现自定义分区器并设置减速器数量。
    【解决方案2】:

    指定较低的 reducer 内存为 2 GB,mapred-site xml 中的默认值为 6GB,框架会并行启动 3 个 reducer,而不是 1 个。

    【讨论】:

      猜你喜欢
      • 2016-07-02
      • 2010-10-24
      • 2018-03-09
      • 2015-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多