yarn的架构及原理资料.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

yarn的的架架构构及及原原理理

1.YARN产产⽣⽣背背景景

MapReduce本⾝存在着⼀些问题:

1)JobTracker单点故障问题;如果Hadoop集群的JobTracker挂,则整个分布式集群都不能使⽤了。

2)JobTracker承受的访问压⼒⼤,影响系统的扩展性。

3)不⽀持MapReduce之外的计算框架,⽐如Storm、Spark、Flink等。

与旧MapReduce相⽐,YARN采⽤了⼀种分层的集群框架,具有以下⼏种优势。

1)Hadoop2.0提出了HFSFederation;它让多个NameNode分管不同的⽬录进⽽实现访问隔离和横向扩展。对于运⾏中NameNode的单点

故障,通过NameNode热备⽅案(NameNodeHA)实现。

2)YARN通过将资源管理和应⽤程序管理两部分剥离开来,分别由ResourceManager和ApplicationMaster进程来实现。其

中,ResouceManager专管资源管理和调度,⽽ApplicationMaster则负责与具体应⽤程序相关的任务切分、任务调度和容错等。

3)YARN具有向后兼容性,⽤户在MR1上运⾏的作业,⽆需任何修改即可运⾏在YARN之上。

4)对于资源的表⽰以内存为单位(在⽬前版本的Yarn中没有考虑CPU的占⽤),⽐之前以剩余slot数⽬为单位更合理。

5)⽀持多个框架,YARN不再是⼀个单纯的计算框架,⽽是⼀个框架管理器,⽤户可以将各种各样的计算框架移植到YARN之上,由YARN

进⾏统⼀管理和资源分配,由于将现有框架移植到YARN之上需要⼀定的⼯作量,当前YARN仅可运⾏MapReduce这种离线计算框架。

6)框架升级容易,在YARN中,各种计算框架不再是作为⼀个服务部署到集群的各个节点上(⽐如MapReduce框架,不再需要部署

JobTracker、TaskTracker等服务),⽽是被封装成⼀个⽤户程序库(lib)存放在客户端,当需要对计算框架进⾏升级时,只需升级⽤户程序

库即可。

2.什什么么是是YARN

YARN是Hadoop2.0版本新引⼊的资源管理系统,直接从MR1演化⽽来。

核⼼思想:将MP1中JobTracker的资源管理和作业调度两个功能分开,分别由ResourceManager和ApplicationMaster进程来实现。

1)ResourceManager:负责整个集群的资源管理和调度。

2)ApplicationMaster:负责应⽤程序相关的事务,⽐如任务调度、任务监控和容错等。

YARN的出现,使得多个计算框架可以运⾏在⼀个集群当中。

1)每个应⽤程序对应⼀个ApplicationMaster。

2)⽬前可以⽀持多种计算框架运⾏在YARN上⾯⽐如MapReduce、Storm、Spark、Flink等。

3.YARN的的基基本本架架构构

从YARN的架构图来看,它主要由ResourceManager和NodeManager、ApplicationMaster和Container等组件组成。

ResourceManager((RM))

YARN分层结构的本质是ResourceManager。这个实体控制整个集群并管理应⽤程序向基础计算资源的分配。ResourceManager将各个资源

部分(计算、内存、带宽等)精⼼安排给基础NodeManager(YARN的每节点代理)。ResourceManager还与ApplicationMaster⼀起分配资

源,与NodeManager⼀起启动和监视它们的基础应⽤程序。在此上下⽂中,ApplicationMaster承担了以前的TaskTracker的⼀些⾓

⾊,ResourceManager承担了JobTracker的⾓⾊。

1)处理客户端请求;

2)启动或监控ApplicationMaster;

3)监控NodeManager;

4)资源的分配与调度。

NodeManager((NM))

NodeManager管理⼀个YARN集群中的每个节点。NodeManager提供针对集群中每个节点的服务,从监督对⼀个容器的终⽣管理到监视资源

和跟踪节点健康。MRv1通过插槽管理Map和Reduce任务的执⾏,⽽NodeManager管理抽象容器(container),这些容器代表着可

文档评论(0)

ouyangxiaoxin + 关注
实名认证
内容提供者

一线鞋类设计师,喜欢整理收集文档。

1亿VIP精品文档

相关文档