连日来 YARN是对Hadoop 1.0框架的重大改进向来一不断的有小伙伴关注,不仅如此还衍生出了各大相关话题,那么跟着小编来看看 YARN是对Hadoop 1.0框架的重大改进以及它的相关资讯吧!
自引入大数据概念以来,它向来在经历多个进展阶段。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模型更加通用。