YARN的设计思想和功能组件简介

来源:互联网 发布:乔任梁死因知乎 编辑:程序博客网 时间:2024/05/17 21:41

Yarn的设计思想

A. Yarn(Yet Another Resource Negotiator)B. Yarn的基本思想:    将JobTracker啷个主要功能分离成单独的组件,一个全局的ResourceManager和每个应用对应的ApplicationMaster

hadoop1.X和hadoop2.X框架对比图:
这里写图片描述
hadoop2.X框架图:
这里写图片描述

Yarn的组件:

A. ResourceManager

a) 一个纯粹的调度器b) 根据应用程序的资源请求严格限制系统的可用资源c) 在保证容量、公平性及服务等级的情况下,优化集群资源利用率,让所有资源都得到充分的利用d) 由可插拔的调度器来应用不同的调度算法,如注重容量调度还是注意公平调度

B. ApplicationMaster

a) 负责与ResourceManager协商资源,并和NodeManager协同工作来执行和监控Container以及他们的资源消耗b) 有责任与ResourceManager协商并获取合适的资源Container,跟踪他们的状态,以及监控其进展c) 在真实环境中,每一个应用都有自己的ApplicationMaster的实例,但是也可为一组提供一个ApplicationMaster,比如Pig或者Hive的ApplicationMaster。

C. 资源模型

a) YARN提供了通用的应用资源模型b) 一个应用可以通过ApplicationMaster请求非常具体的资源    i. 资源名称(包括主机名、机架名以及复杂的网络拓扑)    ii. 内存量    iii. CPU    iv. 其他资源:硬盘和网络的IO

D. ResourceRequest和Container

a) 一个应用程序通过ApplicationMaster请求特定的ResourceRequest来满足资源需求b) Scheduler会分配一个Container来响应资源请求c) Container是一种资源分配形式,为应用程序在特定主机上使用资源(如内存、CPU)的权利d) ApplicationMaster取走Container,并且交给NodeManager,NodeManager会利用相应的资源来启动Container的任务进程
0 0
原创粉丝点击