资源管理方法及装置制造方法及图纸

技术编号:11740115 阅读:93 留言:0更新日期:2015-07-15 23:54
本发明专利技术实施例提供一种资源管理方法及装置。本发明专利技术资源管理方法,包括:资源管理器RM根据需要预先启动的应用管理器AM的类型及数量,从节点管理器NM注册的资源中选择资源并封装成多个与所述需要预先启动的AM匹配的容器Container,并在所述匹配的Container启动所述需要预先启动的AM;当所述RM接收到客户端提交的作业,根据所述作业的信息,在已预先启动的AM中检测是否有匹配的AM用于执行所述作业,若有匹配的AM用于执行所述作业,则将所述作业提交到所述匹配的AM上执行。本发明专利技术实施例实现了在客户端提交作业时可以将作业提交到预先启动的AM上执行,减少了分配资源启动AM的时延。

【技术实现步骤摘要】

本专利技术实施例涉及网络技术,尤其涉及一种资源管理方法及装置
技术介绍
分布式系统基础架构Hadoop是Apache开发的可扩展的分布式存储和计算开源项目。Hadoop YARN系统框架中将资源管理和作业调度监控分开为两个组件,通过不同的应用管理器(Applicat1n Master,简称AM)使得其可以运行不同的应用,同时通过资源管理器(Resource Manager,简称RM)将资源封装成容器Container,可被不同应用和任务调度,大大提高了资源的利用率。图1为现有技术的Hadoop YARN系统架构图,如图1所示,系统架构中包括的网元及作用如下:资源管理器RM用于资源管理和应用管理,根据容量,队列等限制条件分配资源给各个运行的应用;节点管理器(Node Manager,简称匪)是每个节点上的框架代理,负责启动应用所需的容器Container,监控资源情况并汇报给RM;应用管理器AM用于管理其对应的应用程序,向RM获取合适的容器Container执行任务,并跟踪这些Container状态和进度;其中,Container指的是封装了的机器资源(CPU、内存等),使用该Container封装的资源执行任务;客户端Client,用于提交作业,查询执行状态。首先,客户端Client提交一个作业,由资源管理器(Resource Manager,简称RM)根据节点管理器(Node Manager,简称匪)注册的资源为该作业分配封装的资源Container启动该作业的AM,接着该AM向RM请求封装的资源启动Container执行该作业的任务。现有技术中的问题是,Client每次提交作业都需要动态向RM请求资源以及启动一个独立的AM,会导致作业启动的时延增大,对某些作业(如小作业、实时作业等)影响比较大。
技术实现思路
本专利技术实施例提供一种资源管理方法及装置,以克服现有技术中提交作业需要动态向RM请求资源启动AM时延较大的问题。第一方面,本专利技术实施例提供一种资源管理方法,包括:资源管理器RM根据需要预先启动的应用管理器AM的类型及数量,从节点管理器NM注册的资源中选择资源并封装成多个与所述需要预先启动的AM匹配的容器Container,并在所述匹配的Container上启动所述需要预先启动的AM ;当所述RM接收到客户端提交的作业,根据所述作业的信息,在已预先启动的AM中检测是否有匹配的AM用于执行所述作业,若有匹配的AM用于执行所述作业,则将所述作业提交到所述匹配的AM上执行。结合第一方面,在第一方面的第一种可能的实现方式中,所述将所述作业提交到所述匹配的AM上执行之后,还包括:所述RM接收所述匹配的AM的资源申请,分配所述匪注册的资源并封装成容器Container,在所述封装的Container上执行所述作业的任务。结合第一方面、第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述RM接收到客户端提交的作业之前,还包括:所述RM预留资源,并将所述预留资源封装成多个容器Container ;则所述RM根据所述作业的信息,在已预先启动的AM中检测是否有匹配的AM用于执行所述作业,若有匹配的AM用于执行所述作业,则将所述作业提交到所述匹配的AM上执行,具体为:所述RM根据所述作业的信息,在所述已预先启动的AM中检测是否有匹配的AM用于执行所述作业,若没有匹配的AM用于执行所述作业,则根据所述作业的信息确定是否有匹配的所述预留资源的Container用于启动新的AM执行所述作业,若有匹配的预留资源的Container用于启动新的AM执行所述作业,则分配所述预留资源的Container用于启动新的AM执行所述作业;若有匹配的AM用于执行所述作业,则根据所述作业的信息检测是否有匹配的预留资源的Container用于所述匹配的AM执行所述作业的任务,若有匹配的预留资源的Container用于所述匹配的AM执行所述作业的任务,则分配所述匹配的预留资源的Container给所述AM执行所述作业的任务。结合第一方面,在第一方面的第三种可能的实现方式中,所述在预先启动的AM中检测是否有匹配的AM用于执行所述作业,若有匹配的AM用于执行所述作业,则将所述作业提交到所述匹配的AM上执行,包括:若所述作业的信息包括在指定的AM上执行所述作业,确定所述指定的AM是否满足执行所述作业的条件,若是,则将所述作业提交到所述满足条件的AM上执行;或,若所述作业的信息包括在指定应用类型的AM上执行所述作业,确定所述应用类型对应的AM是否有满足条件的AM用于执行所述作业,若是,则将所述作业提交到所述满足条件的AM上执行;或,若所述作业的信息包括所述作业的应用信息,根据所述应用信息确定是否有匹配的AM的应用类型,若是,则检测所述应用类型对应的AM是否有满足条件的AM用于执行所述作业,若是,则将所述作业提交到所述满足条件的AM上执行。结合第一方面,在第一方面的第四种可能的实现方式中,还包括:所述RM记录所述需要预先启动的AM的信息,所述信息包括所述需要预先启动的AM的主机名、IP地址、端口号、应用类型和状态;所述RM检测所述需要预先启动的AM的状态是否正常,若有状态不正常的AM,则重新分配资源启动失效的所述AM。结合第一方面的第二种可能的实现方式中,在第一方面的第五种可能的实现方式中,还包括:所述RM根据接收到的修改资源的请求,增加或减少所述需要预先启动的AM ;或,修改所述需要预先启动的AM的信息,包括修改启动所述需要预先启动的AM的资源;或,增加或减少预留资源。结合第一方面的第一?第五种可能的实现方式,在第一方面的第六种可能的实现方式中,Container执行所述作业的任务结束后,还包括:判断所述执行所述作业的任务的Container是否需要预留,若是,则将所述执行所述作业的任务Container列入预留资源,若否,则清理所述执行所述作业的任务Container并释放资源。第二方面,本专利技术实施例提供一种资源管理器,包括:管理模块,用于根据需要预先启动的应用管理器AM的类型及数量,从节点管理器NM注册的资源中选择资源并封装成多个与所述需要预先启动的AM匹配的容器Container,并在所述匹配的Container启动所述需要预先启动的AM ;检测提交模块,用于当接收到客户端提交的作业,根据所述作业的信息,在已预先启动的AM中检测是否有匹配的AM用于执行所述作业,若有匹配的AM用于执行所述作业,则将所述作业提交到所述匹配的AM上执行。结合第二方面,在第二方面的第一种可能的实现方式中,还包括:接收模块,用于在所述提交模块将所述作业提交到所述匹配的AM上执行之后,接收所述匹配的AM的申请资源申请;相应的,所述管理模块还用于:分配所述NM注册的资源并封装成容器Container,在所述封装的Container上执行所述作业的任务。结合第二方面、第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述管理模块,还用于:在接收到客户端提交的作业之前,预留资源,并将所述预留资源封装成多个容器Container ;相应的,所述检测提交模块具体用于:根据所述作业的信息,在所述已预先启动的AM中检测是否有匹本文档来自技高网
...
资源管理方法及装置

【技术保护点】
一种资源管理方法,其特征在于,包括:资源管理器RM根据需要预先启动的应用管理器AM的类型及数量,从节点管理器NM注册的资源中选择资源并封装成多个与所述需要预先启动的AM匹配的容器Container,并在所述匹配的Container上启动所述需要预先启动的AM;当所述RM接收到客户端提交的作业,根据所述作业的信息,在已预先启动的AM中检测是否有匹配的AM用于执行所述作业,若有匹配的AM用于执行所述作业,则将所述作业提交到所述匹配的AM上执行。

【技术特征摘要】

【专利技术属性】
技术研发人员:贺广武朱俊华
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1