您现在的位置是: 首页 > 新闻 >

YARN是对Hadoop 1.0框架的重大改进

  • 2019-07-23 10:39:43

自引入大数据概念以来,它一直在经历多个发展阶段。Hadoop于2005年推出,具有一些初始功能,例如MapReduce处理引擎,允许大规模数据处理工作负载分布在集群中。Hadoop本身经历了很多变化,并开发了先进的框架和方法。

YARN是Hadoop 2.0的核心组件。它基本上管理集群环境中的资源。YARN代理与计算资源(代表应用程序)交互,并根据不同的过滤条件为每个应用程序分配资源。

在本文中,我们将了解YARN优于Hadoop 1.0的主要优势。

什么是YARN框架?

Y et A nother R esource N egotiator是Hadoop 2.0的核心组件,它管理集群环境中的资源。Hadoop YARN框架是Hadoop 1.0的高级版本,可提供更高的性能,这有利于Hadoop生态系统及与之相关的所有技术。现在我们对YARN稍微熟悉一下,让我们仔细看看Hadoop 1.0和YARN。

Hadoop 1.0框架的局限性

为了理解YARN框架的优点,了解Hadoop 1.0的工作原理以及该框架的局限性非常重要。

这就是JobTracker的作用所在。它管理集群资源并确定MapReduce作业执行。简而言之,JobTracker计划并保留任务槽,并配置和监控每个正在运行的任务。如果任务失败,则会重新分配新的插槽以使任务重新开始。任务完成后,JobTracker会释放其他任务的插槽并清除临时资源。

上述方法的主要缺点:

可用性 - JobTracker是Hadoop 1.0中唯一可用的可用点。这意味着如果JobTracker失败,默认情况下将重启所有任务。

有限的可扩展性 - 由于JobTracker执行多个任务并在一台机器上运行,因此其他可用的机器未被使用; 因此,导致可扩展性有限。

资源利用率 - 在上述方法中,预定义了映射槽和减少槽。可能会发生其中一个插槽已满,但其他机器插槽为空。由于空插槽是保留的,因此它们将处于空闲状态而不是为完整插槽而妥协。这可能会导致资源利用问题。

运行非MapReduce应用程序 - JobTracker是为MapReduce框架构建的应用程序。当非MapReduce应用程序尝试在此框架中运行时,会出现问题。应用程序需要符合MapReduce框架编程才能成功运行。由此产生的一些常见问题包括以下问题:

临时查询

实时分析

消息传递方法

级联失败 - 当节点数大于4000时,会出现此框架中的一个主要问题。在这种情况下,会发生级联故障,导致整个集群恶化。

这些是使用此框架时面临的一些主要限制。还有一些其他的小限制,没有提到。引入YARN框架是为了克服这些限制。

YARN框架及其优势

Hadoop 2.0中引入的YARN框架旨在分担MapReduce的职责并负责集群管理任务。这允许MapReduce仅执行数据处理,从而简化流程。

YARN引入了中央资源管理的概念。这允许多个应用程序在Hadoop上运行,共享公共资源管理。

YARN框架的一些主要组成部分是:

ResourceManager - ResourceManager组件是群集中用于该群集中存在的所有资源的协商者。此外,该组件被分类为负责管理用户作业的应用程序管理器。从Hadoop 2.0开始,任何MapReduce作业都将被视为一个应用程序。

ApplicationMaster - 此组件是作业或应用程序所在的位置。它还管理所有MapReduce作业,并在作业处理完成后结束。

NodeManager - 节点管理器组件充当作业历史记录的服务器。它负责保护已完成工作的信息。它还跟踪用户的工作以及特定节点的工作流程。

请记住,YARN框架有不同的组件来管理不同的任务,让我们看看它如何抵消Hadoop 1.0的局限性。

更好地利用资源 - YARN框架没有任何固定的任务槽。它提供了一个中央资源管理器,允许您通过公共资源共享多个应用程序。

运行非MapReduce应用程序 - 在YARN中,调度和资源管理功能与数据处理组件分离。这允许Hadoop运行不同类型的应用程序,这些应用程序不符合Hadoop框架的编程。Hadoop集群现在能够运行独立的交互式查询并执行更好的实时分析。

向后兼容性 - YARN是一个向后兼容的框架,这意味着MapReduce的任何现有作业都可以在Hadoop 2.0中执行。

JobTracker不再存在 - JobTracker的两个主要角色是资源管理和作业调度。随着YARN框架的引入,这些框架现在被分为两个独立的组件,即:

节点管理器

的ResourceManager

YARN框架的引入使得为Hadoop开发人员构建应用程序变得更加容易。现在,不再需要使用第三方工具实现应用程序。YARN是一个巨大的变化,它允许用户考虑使用Hadoop 2.0来创建应用程序并更有效地操作数据。随着时间的推移,将会有进一步的发展来增强Hadoop的可用性。目前,YARN框架将在处理现有问题和创建无障碍环境方面发挥关键作用,该环境比早期版本的MapReduce模型更加通用。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
Top