ITPub博客

首页 > 大数据 > 数据分析 > 好程序员大数据学习资料之YARN资源管理

好程序员大数据学习资料之YARN资源管理

原创 数据分析 作者:好程序员IT 时间:2019-06-17 16:25:08 0 删除 编辑

   好程序员大数据学习资料之YARN资源管理 YARN是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

   YARN总体上仍然是master/slave结构,在整个资源管理框架中,resourcemanager为master,nodemanager是slave。Resourcemanager负责对各个nademanger上资源进行统一管理和调度。当用户提交一个应用程序时,需要提供一个用以跟踪和管理这个程序的ApplicationMaster,它负责向ResourceManager申请资源,并要求NodeManger启动可以占用一定资源的任务。由于不同的ApplicationMaster被分布到不同的节点上,因此它们之间不会相互影响。

   YARN的基本组成结构,YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等几个组件构成。

   ResourceManager是Master上一个独立运行的进程,负责集群统一的资源管理、调度、分配等等;NodeManager是Slave上一个独立运行的进程,负责上报节点的状态;App Master和Container是运行在Slave上的组件,Container是yarn中分配资源的一个单位,包涵内存、CPU等等资源,yarn以Container为单位分配资源。Client向ResourceManager提交的每一个应用程序都必须有一个Application Master,它经过ResourceManager分配资源后,运行于某一个Slave节点的Container中,具体做事情的Task,同样也运行与某一个Slave节点的Container中。RM,NM,AM乃至普通的Container之间的通信,都是用RPC机制。

   YARN的架构设计使其越来越像是一个云操作系统,数据处理操作系统

   最后 提及 YARN的资源管理, 我们可以从以下几个方面进行理解:

   1. 资源调度和隔离是 yarn作为一个资源管理系统,最重要且最基础的两个功能。资源调度由resourcemanager完成,而资源隔离由各个nodemanager实现。

   2. Resourcemanager将某个nodemanager上资源分配给任务(这就是所谓的“资源调度”)后,nodemanager需按照要求为任务提供相应的资源,甚至保证这些资源应具有独占性,为任务运行提供基础和保证,这就是所谓的资源隔离。

   3. 当谈及到资源时,我们通常指内存、 cpu、io三种资源。Hadoop yarn目前为止仅支持cpu和内存两种资源管理和调度。

   4. 内存资源多少决定任务的生死,如果内存不够,任务可能运行失败;相比之下, cpu资源则不同,它只会决定任务的快慢,不会对任务的生死产生影响。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69913892/viewspace-2647890/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
欢迎关注公众号:好程序员特训营 web前端教程分享 723729549 大数据教程分享 703503210

注册时间:2019-03-20

  • 博文量
    238
  • 访问量
    183215