【问题标题】:Differences between MapReduce and YarnMapReduce 和 Yarn 的区别
【发布时间】:2015-01-12 15:54:03
【问题描述】:

我正在搜索有关落后问题的 hadoop 和 mapreduce 以及此问题中的论文
但是昨天我发现有带有 Yarn 的 hadoop 2 ,,
不幸的是,没有论文谈论 Yarn 中的散乱问题
所以我想知道 MapReduce 和 Yarn 在部分散乱者中有什么区别? Yarn 是否存在落伍问题?
而当MRmaster向resource manager请求资源时,resource manager会给MRmaster所有它需要的资源还是根据集群计算能力?
非常感谢,,

【问题讨论】:

标签: hadoop mapreduce hadoop-yarn speculative-execution


【解决方案1】:

这里是 MapReduce 1.0 和 MapReduce 2.0 (YARN)

MapReduce 1.0

在典型的 Hadoop 集群中,机架通过核心交换机互连。核心交换机应连接到架顶式交换机 使用 Hadoop 的企业应考虑使用 10GbE、绑定以太网和冗余架顶式交换机,以降低发生故障时的风险。默认情况下,文件被分成 64MB 块并分布在数据节点上。每个块的默认复制因子为 3,这意味着在任何给定时间都会有 3 个数据副本。 Hadoop 是“机架感知”的,HDFS 在不同机架的节点上复制了块。 JobTracker 根据节点的位置将任务分配给最接近数据的节点,并帮助 NameNode 在读取期间确定客户端的 'closest' 块。管理员提供一个脚本,告诉 Hadoop 节点所在的机架,例如:/enterprisedatacenter/rack2。

MapReduce 1.0 的限制 – Hadoop 可以扩展到 4,000 个节点。当它超过该限制时,它会引发不可预知的行为,例如级联故障和整个集群的严重恶化。另一个问题是多租户——不可能在 Hadoop 集群上运行除 MapReduce 1.0 之外的其他框架。

MapReduce 2.0

MapReduce 2.0 有两个组件——具有集群资源管理能力的 YARN 和 MapReduce。

在 MapReduce 2.0 中,JobTracker 分为三个服务:

  1. ResourceManager,一个持久的 YARN 服务,用于接收和运行集群上的应用程序。 MapReduce 作业是一个应用程序。
  2. JobHistoryServer,提供有关已完成工作的信息
  3. Application Master,用于管理每个 MapReduce 作业并在作业完成时终止。

TaskTracker 已被 NodeManager 取代,这是一个管理节点上的资源和部署的 YARN 服务。 NodeManager 负责启动可以是 map 或 reduce 任务的容器。

这种新架构打破了 JobTracker 模型,它允许新的 ResourceManager 管理跨应用程序的资源使用,而 ApplicationMasters 负责管理作业的执行。此更改消除了瓶颈,让 Hadoop 集群可以扩展到比 4000 个节点 更大的配置。这种架构还允许同时执行各种编程模型,例如图形处理、迭代处理、机器学习和通用集群计算,包括传统的 MapReduce。

【讨论】:

    【解决方案2】:

    您说“MapReduce 和 YARN 之间的差异”。 MapReduce 和 YARN 绝对不同。 MapReduce 是编程模型,YARN 是分布式集群的架构。 Hadoop 2 使用 YARN 进行资源管理。除此之外,hadoop 还支持支持并行处理的编程模型,我们称之为 MapReduce。在 hadoop 2 之前,hadoop 已经支持 MapReduce。简而言之,MapReduce 运行在 YARN 架构之上。对不起,我没有提到部分落后的问题。

    “当 MRmaster 向资源管理器请求资源时?” 当用户提交 MapReduce 作业时。 MapReduce 作业完成后,资源将恢复为空闲状态。

    “资源管理器会根据集群计算能力给MRmaster所有它需要的资源” 我不明白这个问题点。显然,无论集群计算能力如何,资源管理器都会提供它需要的所有资源。集群计算能力会影响处理时间。

    【讨论】:

    • 如果我的问题不清楚,我很抱歉,我只是不明白资源管理器和 MRmaster 的概念??并且没有在数据节点之间分配资源的想法? .你对 Yarn 中的散乱问题一无所知。非常感谢您的回复
    • In short, MapReduce run above YARN Architecture. 这就是重点。
    【解决方案3】:

    在 MapReduce 1 中没有 YARN。在 MapReduce 中有 Yarn。

    【讨论】:

    • 在 MapReduce2 中有 Yarn
    【解决方案4】:

    如果对于散乱的问题,您的意思是如果第一个人等待“某事”,然后在依赖于第一个人的道路上导致更多的等待,那么我想在 MR 工作中总是存在这个问题。获得分配的资源自然会与所有其他可能导致组件等待的事情一起参与这个问题。

    Tez 应该是 MR 作业运行时的直接替代品,它使事情变得不同。不是以与当前 MR Appmaster 相同的方式运行任务,而是尝试使用 DAG 任务,这样可以更好地避免陷入糟糕的落后者问题。

    您需要了解 MR 和 YARN 之间的关系。 YARN 只是一个虚拟资源调度程序,这意味着它不会调度“任务”。它给 MR Appmaster 的是一个集合或资源(从某种意义上说,它只是内存、cpu 和位置的组合)。然后 MR Appmaster 负责决定如何处理这些资源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-25
      相关资源
      最近更新 更多