YARN 概述

原创
2018/10/20 17:39
阅读数 437

        YARN是Hadoop的资源管理器。
        理解YARN如何为Hadoop集群提供灵活的资源管理
        理解YARN如何拓展Hadoop使得能够支持多种框架如MapReduce、Spark、Giraph和Flink
        YARN是Hadoop从1.0升级至2.0出现的,hadoop1.0只支持MapReduce任务、资源利用率低。如图,Hadoop2.0中加入YARN使得hadoop中的编程模型有了除MapReduce外的更多选择,并且多种应用程序如MapReduce、Spark可以使用同一个数据集。 

        

        YARN中有四个基本组件:ResourceManager、NodeManager、ApplicationMaster、Container。
        ResourceManager每个集群仅有一个,负责集群资源的统一管理和调度,
        NodeManager每个节点都有一个,负责单节点资源管理和调度。
        每个应用程序有一个ApplicationMaster管理该应用程序。
        Container是对任务运行资源的抽象,可以理解为一台计算机。

        YARN的工作流程大致如下:

        

  • 步骤1 client程序向YARN中提交应用程序,ResourceManager为该应用程序分配第一个Container,并与相应的NodeManager通信,要求它在这个Container中启动应用程序的ApplicationMaster。步骤2 ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查看应用程序的运行状态,然后ApplicationMaster将为各个任务申请资源,并监控任务的运行状态,直到运行结束。 
  • 步骤3 ApplicationMaster向ResourceManager申请和获取资源,一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务。 
  • 步骤4 NodeManager启动任务。 
  • 步骤5 各个任务向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。 
  • 步骤6 应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。

     

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部