YARN资源分配引入时间因素的研究.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
YARN资源分配引入时间因素的研究.doc

YARN资源分配引入时间因素的研究   摘要:Hadoop2使用YARN平台进行资源管理,支持更多的计算框架和可插拔的资源调度器。现有的资源调度机制中并不支持时间因素,而新的应用方向需要YARN对预分配、实时性、截止期限等与时间密切相关的资源调度提供支持。本文对YARN进行扩展,以支持各种与时间相关的调度策略。   关键词:Hadoop YARN;资源请求与分配;时间因素   中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2016)17-0272-03   作为Apache顶级项目之一,Hadoop可以使数据分析工作分布在成千上万台普通计算机组成的集群上同时运行,同时具备良好的扩展性和容错性。随着信息技术越来越广泛的使用,人们需要处理的数据量呈爆发式增长,为充分利用Hadoop集群处理能力,集群中的资源分配是一个关键环节。Hadoop从 2.0版本开始使用YARN通用资源管理平台,从而使得资源管理工作从MapReduce v1计算框架中分离出来,并支持Storm、Spark等其他计算框架在其上运行。   YARN中目前集成了Capacity Scheduler和Fair Scheduler两种资源调度器,支持在多用户、多任务环境下平衡资源分配,达到共享Hadoop集群的目的,并提供了诸如优先级、标签管理等措施来帮助集群资源的管理。然而,YARN中现有的调度几乎没有考虑时间,而在实际的资源调度需求中,时间也是一个重要的因素,特别是在支持资源预留的调度中。文献[1]指出基于资源预留的调度对集群的利用率几乎可达到100%,而Capacity Scheduler不超过80%;文献[2,3]基于Hadoop来实现高实时需求的软件系统;基于截止时间的调度策略[4]和可同时启动多个Container的Gang调度策略[5]也在研究中。因此,需要扩充YARN现有资源请求和调度框架,增加时间因素,各种调度策略从其中获得资源和时间需求并进行资源调度,从而弹性地满足作业对时间上的需求和更充分地利用资源。本文通过对YARN中的资源调度环节进行分析研究,定义了可自定义的时间标记定义,扩充了现有的资源请求方式,从而将时间因素与现有的资源分配结合起来。   1 YARN资源管理平台简述   RM(ResourceManager)是YARN中的核心模块,负责整个集群所有资源的统一管理和分配;集群中每个提供资源服务的结点由其内部的NM(NodeManager)进行管理; NM中的资源以Container的形式进行分配,每个Container封装了一定的资源量。   客户端可以向RM提交作业(Job),每个作业将被分为多个子任务(Task),并分布到Hadoop集群中的多个结点并行地运算。作业提交到RM后不会马上被运行,而是由RM先分配一个合适的Container,以容纳该作业的AM(ApplicationMaster)。AM是该作业申请资源及内部管理的必要部件。AM向RM注册成功后,便可持续地申请资源来运行子任务。RM通过内部的调度机制为请求分配资源,AM通过周期性的心跳来获取这些以Container形式表示的资源。AM得到Container后,与Container所在的NM通信以真正获得资源,并在Container中运行子任务。   NM用心跳机制定期向RM汇报结点信息以及Container信息。   2 资源分配中引入时间因素   Hadoop集群在实际应用中,由于其上运行的作业不同,数据的多样性,集群本身的异构性等,从而对资源分配有不同的需求,进而产生各种调度策略。这里我们并不对具体调度策略做讨论,仅关注如何在申请资源时引入时间因素。   2.1 扩展ResourceRequest   AM申请资源时,用ResourceRequest对象描述所需资源。为引入时间因素,我们扩展现有的资源请求环节,采用新的ResourceDescription类封装原有的ResourceRequst,并在类中引入对时间需求的描述。增加时间因素并不会改变YARN的原有流程,仅是对其中的操作有部分扩展。资源申请流程分析如下(图1):   1)AM通过RPC函数与RM中的ApplicationMasterService通信,并传递ResouceDescription对象,该对象中包含了原有的ResourceRequest对象,并增加了时间或其他资源相关条件。由于该通信是周期性调用,因此也称为心跳。   2)ApplicationMasterService调用ResourceScheduler.allocate()函数,将资源需求汇报给ResouceScheduler。   3)ResourceScheduler根据调度策

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档