【问题标题】:What is the difference between a mapreduce application and a yarn application?mapreduce 应用程序和 yarn 应用程序有什么区别?
【发布时间】:2015-04-16 18:00:09
【问题描述】:

运行 mapreduce 2 的集群没有作业跟踪器,而是分为两个独立的组件,资源管理器和作业管理器。但是,这些东西对用户来说是透明的,他在提交 mapreduce 作业时不需要知道集群是在运行 mapreduce 1 还是 2。

我不太明白的是纱线应用。它与常规的 mapreduce 应用程序有何不同?将 mapreduce 作业作为纱线应用程序运行等有什么好处?有人可以帮我解释一下吗?

【问题讨论】:

    标签: hadoop mapreduce hadoop-yarn hadoop2


    【解决方案1】:

    MR1 有 Job tracker 和 task tracker 负责 Map reduce 应用程序。

    在 MR2 中,Apache 使用 YARN 将 map/reduce 进程的管理与集群的资源管理分开。 YARN 是比我们在 MR1 中更好的资源管理器。它还实现了多功能性。 MR2 建立在 YARN 之上。

    除了 Map reduce 之外,我们还可以在 Yarn 上运行 spark、storm、Hbase、Tex 等应用程序,这是使用 MR1 无法做到的。

    以下是 MR1 和 MR2 的架构。

    HDFS <---> MR
    
    HDFS <----> Yarn <----> MR
    

    【讨论】:

    • 谢谢,但我实际上有一个不同的问题。我知道 MR2 的架构,我的问题是我可以在 MR1 和 MR2 上运行相同的代码。在前一种情况下,有一个工作和任务跟踪器,在后一种情况下,有 Yarn 管理事物,但是当我需要开发 Yarn 应用程序时? (我所说的 Yarn 应用程序是使用 java 包 org.apache.hadoop.yarn 的应用程序)
    • 因为在 MR1 工作跟踪器中必须处理所有压力。 MR1 的总工作量接近 4000。但 MR2 更多的是这个数字。 Job tracker 必须处理 mr1 中的所有压力。在纱线中,资源管理器的工作是调度和分配资源,作业监控和运行将由每个应用程序主控来处理。
    • 那么何时使用包 org.apache.hadoop.yarn 开发应用程序?
    • 另一种情况是,如果作业跟踪器出现故障,Mr1 中的所有作业都将被挂起。但是如果资源管理器失败,所有当前的作业都不会被杀死。集群无法接受新作业,但现有作业将在 applicationmaster 的监督下,如果有足够的资源并运行并发送输出。
    • 这是您的电话。如果您的应用程序只需要 Mapreduce,您可以使用 MR1 或 MR2。如果您想使用 HBase、Strom 等应用程序,请使用 Yarn。 Yarn 始终是更好的选择,因为它具有资源管理功能
    猜你喜欢
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    相关资源
    最近更新 更多