【问题标题】:Hadoop: MapReduce: Node selectionHadoop:MapReduce:节点选择
【发布时间】:2013-11-18 17:29:00
【问题描述】:

我有三台机架服务器,每台服务器有五个节点,从节点 1 到节点 15,我编写了一个文件 file.txt,它分为四个数据块 A、B、C、D 并存储在节点 1 中(包含块 A,B)和节点 11(包含块 C,D)。作业跟踪器为节点 1 和 11 的任务跟踪器提供代码以在其本地块中执行地图任务。

我的问题是:

  1. 作业跟踪器如何决定必须在哪个节点执行缩减作业。是因为机架意识吗?

  2. 在节点 2、节点 6 和节点 12 中,哪个节点是执行 reduce 任务的最佳节点,假设这些节点当前没有被任何任务占用?

  3. map 任务在节点上结束后,能否在节点 1 或节点 11 中的任何一个上执行 reduce 任务。

提前致谢。

【问题讨论】:

    标签: hadoop mapreduce


    【解决方案1】:

    1) Job Tracker 可以选择 Node1 或 Node 11 进行 Reduce 操作,它可以选择需要较少数据传输的节点。

    2) Node2 或 Node12 中的任一个

    3) 是的。要开始 Reduce 操作,需要将所有 map 输出复制到要执行 reduce 操作的节点。因此,一旦 Node 1 和 Node 11 的 map 函数完成,job tracker 可能会在 Node1 或 Node11 上启动 reduce 操作。

    希望这会有所帮助。

    【讨论】:

    • 非常感谢,我需要进一步澄清一下,如果节点 1 和节点 11 完成了当前需求 1 的地图任务,并且被其他地图任务占用了不同的需求 2,而节点 2 和节点 12 是空闲的,这将是减少需求 1、节点 2,12 或节点 1,11 的最佳节点。
    • 这完全取决于可用任务槽的数量。如果 Node1 和 Node11 都保留了任务槽,那么 JobTracker 仍然可以选择 Node 1 或 Node 11 进行 Reduce 操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2015-10-22
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多