一种基于YARN高优先级作业调度实现方案.docVIP

一种基于YARN高优先级作业调度实现方案.doc

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

一种基于YARN的高优先级作业调度实现方案   摘要:提交到YARN上的一个大数据作业会被切分为一个或者多个任务,任务是大数据作业申请资源和执行的基本单位。在某些领域中存在需要对作业紧急度作有效区分使得高紧急度作业优先获得资源的需求,但是在现有的YARN资源调度策略中,对于提交到YARN上的高优先级作业缺乏资源优先分配和高质量的资源保障机制。本文在修改YARN原有资源调度方案的基础上,提出了一种基于YARN的高优先级作业调度实现方案。实验表明,提交到YARN上的高优先级作业执行效率提升了7%左右,证明设计方案行之有效。   关键词:YARN;作业调度;高优先级   中图分类号:TP391 文献标识码:A DOI:10.3969/j.issn.1003-6970.2016.03.021   0引言   YARN分布式大数据资源调度框架用于给运行于其上的作业调度资源并管理作业执行流程。现有的作业调度方案是以将作业分配给有空闲资源的节点为唯一目标的。在某些领域中存在需要对作业紧急度作有效区分使得高紧急度作业优先获得调度资源的需求,在实际调研和使用中发现已有的YARN资源调度方案并不能很好的满足这一需求。本文提出了一种YARN上的高优先级作业调度方案,通过将作业提交到自定义的高优先级队列上,在资源调度过程中优先为高优先级作业分配资源,并避免当高优先级作业运行时,低优先级作业对其形成的资源竞争,实现了在集群负载较高情况下高优先级作业的执行效率提升。   1现有的YARN作业调度方案   对于YARN资源调度平台而言,按照现在的调度方案,当有一个紧急度比较高的任务提交到处理平台时,会提交到相应的调度队列上,由中心调度器处理。中心调度器选中将要为其分配任务的目标节点、遍历调度队列的层级队列树选择队列,给选中队列分配节点上的资源。对于队列上待分配资源的作业集合,首先按照作业提交先进先出的顺序分配节点上的资源,在同一个作业的多个任务中,为了控制任务执行顺序,给资源请求一个优先级属性,使得优先级高的任务能够优先获得资源。   这种作业调度方案对于作业整体而言缺乏一个作业层面的整体保障,使得不同作业之间调度紧急性缺乏一个有效的区分,同时有高紧急度作业提交到YARN上,无法避免当节点上运行有高优先级任务时普通任务对高优先级作业形成的资源竞争。   因此,需求为:保障当集群中提交有高优先级作业时,高优先作业优先获得集群资源,使其能够更快的获得资源分配;保障当一个普通作业提交到目标节点上时,如果目标节点运行有高优先级任务,限制低优先级任务分配可用资源量,以使得高优先级任务能够更好的运行。   2高优先级作业调度设计与实现   2.1实现思路   高优先级作业优先调度的设计方案是基于Capacity资源调度器实现的,本课题的开展按照以下步骤进行:   高优先级作业描述和解析。中心调度器是一个可插拔组件,可采用定义配置文件的方式给调度器配置相关参数。本课题设计为,给队列一个优先级属性,使得提交到该队列上的作业优先调度分配资源。并且给队列一个资源阈值属性,使得提交到该队列的任务能够参考该阈值属性,确定是否需要限制节点可分配资源量。并修改Web界面中对任务队列描述部分参数。   在对高优先级队列进行描述的基础上,设计高优先级作业资源分配流程。流程如下:   选择任务调度的目标节点。中心调度器保存了集群上所有节点及其资源量信息,该过程为选中节点集合中待为该节点分配作业的目标节点。   给高优先级队列上任务优先分配资源。在选择好目标节点后,本步骤为在高优先级队列已经定义过,并且作业提交到高优先级队列上时,设计先为高优先级队列上的作业分配节点上资源后为普通队列上的任务分配资源。   节点上运行有高优先级任务时,给普通任务添加阈值限制。一个节点上会同时运行不同作业的任务,当节点上有高优先级任务时,保障优先级任务的资源质量。   2.2实现方案   本课题设计的YARN高优先级作业调度模块图如图l所示:   其中阴影部分模块为添加或者修改过的模块,功能如下。   调度器配置:是管理员用户使用调度处理器的对外接口,用以配置调度器中集群上资源的组织方式,包括层级队列的结构,队列可使用资源量,用户提交权限等信息。   Web界面:Hadoop YARN提供了一个可视化的web界面,用以实时监测队列中资源使用信息,队列资源相关的参数。   资源层级队列:其中队列分为父队列和叶子队列两种,队列基本信息包括从配置文件中解析到的信息和任务提交时作业集合信息,以及NodeManager注册和心跳过程中更新的集群中资源量信息等。   作业调度处理器:作业调度器同时也是一个作业调度处理器,不同的调度事件类型触发不同的行为,包括NODE_ADD

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档