一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

资源管理方法、资源管理器和计算机可读存储介质与流程

2022-06-05 07:50:05 来源:中国专利 TAG:


1.本技术涉及计算机集群技术领域,特别是涉及一种资源管理方法、资源管理器和计算机可读存储介质。


背景技术:

2.管理大型计算机集群系统的软件,例如yarn,是一种分布式计算资源管理与调度框架,支持运行不同的应用程序框架,同时运行在共享的计算机集群资源之上。例如,在一个yarn集群中,可以同时运行hadoop和spark等不同类型的任务。同时,容器云平台,例如kubernetes(简称k8s)也可作为资源管理与调度框架,与yarn造成资源的双重调度,导致集群资源调度不统一,降低了集群资源的利用率。


技术实现要素:

3.本技术主要解决的技术问题是提供一种资源管理方法、资源管理器和计算机可读存储介质,能够统一集群资源调度,提高集群资源的利用率。
4.为解决上述技术问题,本技术采用的一个技术方案是:提供一种资源管理方法,包括:
5.资源管理器接收任务,并解析所述任务所需的启动资源;
6.判断资源池中的可用资源是否小于所述启动资源;
7.若是,利用容器云平台获取可用资源并将其加入所述资源池;
8.响应于可用资源满足第一预设条件,从资源池中删除至少部分可用资源。
9.可选地,所述利用容器云平台获取可用资源并将其加入所述资源池中的步骤,包括:
10.所述资源管理器向所述容器云平台发送创建节点管理服务容器的请求信息;其中,所述节点管理服务容器中包括可用资源;
11.接收所述节点管理服务容器反馈的可用资源的注册信息;
12.将所述注册信息对应的可用资源加入所述资源池中。
13.可选地,所述利用容器云平台获取可用资源并将其加入所述资源池中的步骤之后,还包括:
14.所述资源管理器与节点管理器通信,以获取所述可用资源的使用信息,并根据所述使用信息解析已被释放的可用资源;
15.所述响应于所述可用资源满足第一预设条件,从所述资源池中删除至少部分所述可用资源的步骤,包括:
16.判断所述已被释放的可用资源是否为利用所述容器云平台获取的;
17.若是,响应于所述已被释放的可用资源满足第二预设条件,利用所述容器云平台删除所述已被释放的可用资源。
18.可选地,所述响应于所述已被释放的可用资源满足第二预设条件,利用所述容器
云平台删除所述已被释放的可用资源的步骤,包括:
19.所述资源管理器判断所述已被释放的可用资源对应的节点管理服务容器是否配置为复用;
20.若否,则向所述容器云平台发送删除所述节点管理服务容器的请求信息;
21.响应于所述节点管理服务容器已被删除,从所述资源池中删除所述已被释放的可用资源。可选地,所述资源管理方法还包括:
22.若所述已被释放的可用资源不是利用所述容器云平台获取的,则所述资源管理器将所述资源池保持原状。
23.可选地,所述资源管理方法还包括:
24.若所述已被释放的可用资源对应的所述节点管理服务容器配置为复用,则所述资源管理器根据所述节点管理服务容器的空闲时长管理所述已被释放的可用资源。
25.可选地,所述根据所述节点管理服务容器的空闲时长管理所述已被释放的可用资源的步骤,包括:
26.所述资源管理器判断所述空闲时长是否超过预设值;
27.若是,利用所述容器云平台删除所述已被释放的可用资源;
28.否则,将所述资源池保持原状,并返回所述判断所述空闲时长是否超过预设值的步骤。
29.可选地,所述利用容器云平台获取可用资源并将其加入所述资源池的步骤之后,还包括:
30.所述资源管理器向节点管理器发送指令,以使所述节点管理器接收所述指令后,利用所述资源池中的可用资源创建应用管理器;
31.接收所述应用管理器反馈的所述任务所需的执行资源;
32.判断所述资源池中的可用资源是否小于所述执行资源;
33.若是,利用所述容器云平台获取可用资源并将其加入所述资源池中,并将所述资源池中的可用资源分配给所述应用管理器,以使所述应用管理器运行所述任务;
34.否则,直接将所述资源池中的可用资源分配给所述应用管理器,以使所述应用管理器运行所述任务。
35.可选地,所述资源管理方法还包括:
36.响应于所述资源池中的可用资源不小于所述启动资源,所述资源管理器向节点管理器发送指令,以使所述节点管理器接收所述指令后,利用所述资源池中的可用资源创建应用管理器。
37.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种资源管理器,包括存储器以及与所述存储器耦接的处理器,所述存储器存储有程序指令,所述处理器能够执行所述程序指令以实现上述技术方案所述的资源管理方法。
38.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种计算机可读存储介质,所述存储介质上存储有程序指令,所述程序指令能够被处理器执行以实现上述技术方案所述的资源管理方法。
39.本技术的有益效果是:本技术的资源管理方法应用于资源管理器,资源管理器首先接收任务,并解析所述任务所需的启动资源;然后判断资源池中的可用资源是否小于所
述启动资源;并在小于的情况下,利用容器云平台获取可用资源并将其加入所述资源池;最后在可用资源满足第一预设条件的情况下,从资源池中删除至少部分可用资源。在将上述资源管理器基于容器云平台部署之后,应用上述资源管理方法的集群的规模能够根据工作负载的变化而弹性变化,从而最大化利用资源。当无工作负载时,资源池中的可用资源可设置为接近于零,此时可不占用容器云平台的任何资源;当接收到任务,工作负载变大时,能够根据所需的可用资源实时利用容器云平台快速实现扩容和缩容,获取到更多可用资源,以满足启动任务对可用资源的需求。因此,本技术能够统一集群资源调度,提高集群资源的利用率。
附图说明
40.为了更清楚地说明本技术实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
41.图1为本技术资源管理方法一实施方式的流程示意图;
42.图2是图1中步骤s14一实施方式的流程示意图;
43.图3是图2中步骤s22一实施方式的流程示意图;
44.图4为图1中步骤s13一实施方式的流程示意图;
45.图5为图3中步骤s34一实施方式的流程示意图;
46.图6为图1中步骤s13之后一实施方式的流程示意图;
47.图7为本技术资源管理方法另一实施方式的流程示意图;
48.图8为本技术资源管理器一实施方式的结构示意图;
49.图9为本技术计算机可读存储介质一实施方式的结构示意图。
具体实施方式
50.下面将结合本技术实施方式中的附图,对本技术实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本技术一部分实施方式,而不是全部实施方式。基于本技术中的实施方式,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施方式,都属于本技术保护的范围。
51.请参阅图1,图1为本技术资源管理方法一实施方式的流程示意图,该资源管理方法包括如下步骤。
52.步骤s11,资源管理器接收任务,并解析任务所需的启动资源。
53.用户通过客户端提交任务,本实施方式中具体为yarn集群客户端,其配置有资源管理器(resourcemanager,rm),用于调度、监控以及管理集群的资源利用。资源管理器接收到任务之后,可解析出任务所需的启动资源。
54.步骤s12,判断资源池中的可用资源是否小于启动资源。
55.yarn集群设置有一内部的资源池,其中可配置可用资源,用于在运行任务时被调用。其中,资源池中的可用资源最小可缩容至零,即在无需执行任务时不配置可用资源。本实施方式中资源管理器解析出任务所需的启动资源后进一步判断该资源池中的可用资源
是否小于启动资源,以确定如何启动任务。
56.步骤s13,若是,利用容器云平台获取可用资源并将其加入资源池。
57.如果资源池中的可用资源小于启动资源,说明以目前资源池中的可用资源不足以启动任务,需要获取更多的可用资源以对资源池扩容。本实施方式中,资源管理器利用容器云平台获取更多的可用资源,容器云平台包括但不限于kubernetes(简称k8s)平台。具体的获取可用资源的方式将在下文描述。
58.步骤s14,响应于可用资源满足第一预设条件,从资源池中删除至少部分可用资源。
59.如果资源池中的可用资源满足第一预设条件,说明目前资源池中的可用资源已经足够启动任务,因此需要对资源池的可用资源进行缩容处理,以使部分可用资源从资源池中被释放。需要说明的是,对于第一预设条件的具体介绍将后续实施方式中详细阐述。
60.本实施方式中,当yarn集群没有任何工作负载时,yarn集群初始时只需配置创建资源管理器所需要的少量资源,此时资源池可缩容至零,使得其他资源可供容器云平台配置给其他共享集群的任务运行。而且,当yarn集群接收到任务需要可用资源时,可实时利用容器云平台获取更多可用资源。因此,本实施方式能够统一集群资源调度,提高容器云平台集群资源的利用率。
61.在一个实施方式中,上述步骤s13之后,即利用容器云平台获取可用资源并将其加入资源池中之后,还包括如下步骤:资源管理器与节点管理器通信,以获取可用资源的使用信息,并根据使用信息解析已被释放的可用资源。
62.可用资源以节点的形式存储在资源池中,每个节点包括若干可用资源,节点管理器(nodemanager,nm)是每个节点的管理程序,还用于向资源管理器汇报可用资源的使用情况。当资源管理器判断出资源池中的可用资源大于新接收到的任务的启动资源时,直接选择对应的节点,以发送指令的方式通知节点管理器利用资源池中的可用资源创建应用管理器(application master,am)。应用管理器是每个任务的管理程序,用于向资源管理器申请可用资源以运行任务。其中,资源管理器、节点管理器和应用管理器两两之间可进行通信。
63.应用管理器被创建之后,资源管理器可根据应用管理器的申请,将资源池中的可用资源分配给应用管理器,以使应用管理器运行任务。与此同时,资源管理器接收节点管理器的反馈并解析获知已被释放的可用资源,可用资源被节点管理器释放,说明其中已无任务执行,此时可进一步判断是否能够将这部分可用资源归于容器云平台,以供其配置给其他的集群运行任务,即对资源池进行缩容。其中,应用管理器根据任务的运行状态获知对应的可用资源是否能够被释放,并反馈至节点管理器。
64.在一个实施方式中,请参阅图2,图2是图1中步骤s14一实施方式的流程示意图。在图1所示各步骤的基础上,本实施方式详细介绍步骤s14中的第一预设条件,上述步骤s14具体包括如下步骤:
65.步骤s21,判断已被释放的可用资源是否为利用容器云平台获取的。
66.如前所述,初始时,资源池中的可用资源配置为零,当然,也可不为零,即配置一些固有节点,这些固有节点的可用资源则不能归于容器云平台支配。本实施方式中,资源管理器在获知已被释放的可用资源之后,进一步判断已被释放的可用资源是否为利用容器云平台获取的,从而获知这些可用资源是否为预先配置的固有节点所有。
67.步骤s22,若是,响应于已被释放的可用资源满足第二预设条件,利用容器云平台删除所述已被释放的可用资源。
68.如果资源管理器判定已经释放的可用资源是利用容器云平台获取的,则进一步根据预设的第二预设条件,当已经释放的可用资源满足第二预设条件,则利用容器云平台删除已被释放的可用资源,例如根据一些预设配置参数删除这些可用资源,使得其他共享集群能够向容器云平台申请这些可用资源,从而提高资源的利用率。需要说明的是,本步骤中所涉及的第二预设条件将在后续实施方式中详细介绍。
69.步骤s23,否则,将资源池保持原状。
70.在一实施方式中,如果资源管理器判定已经释放的可用资源不是利用容器云平台获取的,说明这些可用资源为预先配置的固有节点所有,不能从资源池中删除,则将资源池保持原状,待接收到下一个任务时调用。
71.本实施方式中,初始状态下的yarn集群可以只部署资源管理器,利用容器云平台提供的资源管理与调度能力,随着yarn集群工作负载的动态变化,对资源池中的可用资源实施实时管理,以满足集群的稳定运行。具体地,在可用资源不足时,利用容器云平台获取可用资源填充资源池,实现扩容,当任务运行完成后,再次调用容器云平台,释放可用资源,实现缩容。从而统一集群资源调度,提高容器云平台集群资源的利用率。
72.在一个实施方式中,请参阅图3,图3是图2中步骤s22一实施方式的流程示意图。在图2所示各步骤的基础上,本实施方式详细介绍步骤s22中的第二预设条件,上述步骤s22具体包括如下步骤:
73.步骤s31,资源管理器判断已被释放的可用资源对应的节点管理服务容器是否配置为复用;当资源管理器判定已经释放的可用资源是利用容器云平台获取的,可进一步判断这些可用资源对应的节点管理服务容器是否配置为复用,用户可在初始状态时便对节点管理服务容器配置多种不同生命周期管理策略,资源管理器读取相关参数,从而判断是否复用节点管理服务容器。
74.步骤s32,若否,则向容器云平台发送删除节点管理服务容器的请求信息。
75.如果节点管理服务容器配置为不复用,说明可将对应的可用资源不归还于容器云平台支配,当节点管理服务容器存在时,节点管理器就其中的可用资源定期通过心跳向资源管理器上报资源使用情况,使得资源管理器能够感知到其中的可用资源已释放。当资源管理器进一步确定可以删除已被释放的可用资源时,向容器云平台发送删除节点管理服务容器的请求信息。
76.步骤s33,响应于节点管理服务容器已被删除,从资源池中删除已被释放的可用资源。
77.当容器云平台根据上述请求信息删除了节点管理服务容器并反馈至资源管理器后,资源管理器进一步从资源池中删除已被释放的可用资源,使得这些资源归于容器云平台支配,可配置给其他的集群使用,从而提高资源的复用率。
78.本实施方式提出针对节点管理服务容器复用与不复用的生命周期管理策略,在集群工作负载较大时,可配置复用,从而缩短重复创建节点管理服务容器而花费的时间,进一步提高集群的稳定性。相应地,在在集群工作负载较小时,可配置不复用,及时将资源归还于容器云平台支配,提高资源的复用率。
79.在其他实施方式中,还可以为节点管理服务容器配置其他的生命周期管理策略,利用预设时间段内复用,另一预设时间段内不复用,提高节点管理服务容器的使用灵活性。
80.在一实施方式中,请继续参阅图3,本技术所提供的资源管理方法还包括步骤s34:若已被释放的可用资源对应的所述节点管理服务容器配置为复用,则资源管理器根据节点管理服务容器的空闲时长管理已被释放的可用资源。换言之,如果节点管理服务容器配置为复用,说明对应的可用资源暂时不归还于容器云平台支配,而是保留在资源池中,供下一次启动或运行任务时调用。具体地,资源管理器可根据节点管理服务容器的空闲时长进一步管理这些已被释放的可用资源,该空闲时长具体指其对应的可用资源未被调用的连续累积时长。
81.在一个实施方式中,请继续参阅图1,本技术资源管理方法还包括步骤s15:响应于资源池中的可用资源不小于启动资源,资源管理器向节点管理器发送指令,以使节点管理器接收指令后,利用资源池中的可用资源创建应用管理器。资源池中可能有预先配置的固有节点对应的可用资源,也可能有利用容器云平台获取且未被删除的可用资源,当这些可用资源不小于新接收到的任务的启动资源时,资源管理器可指示节点管理器直接利用这引起可用资源创建应用管理器,使得应用管理器可进一步管理任务的运行。
82.在一个实施方式中,请参阅图4,图4为图1中步骤s13一实施方式的流程示意图,可通过如下步骤利用容器云平台获取可用资源并将其加入资源池中。
83.步骤s41,资源管理器向容器云平台发送创建节点管理服务容器的请求信息;其中,节点管理服务容器中包括可用资源。
84.当资源管理器确定需要进行扩容时,向容器云平台发送创建节点管理服务容器(nm pod)的请求信息,容器云平台被容器云平台创建之后,自动读取资源管理器的地址信息,便于与其交互注册信息。
85.步骤s42,接收节点管理服务容器反馈的可用资源的注册信息。
86.资源管理器进一步接收节点管理服务容器反馈的可用资源的注册信息,具体包括可用资源的容量、地址等相关参数。
87.步骤s43,将注册信息对应的可用资源加入资源池中。
88.资源管理器获取可用资源的注册信息之后,将其加入资源池中,使得应用管理器和节点管理器可以利用这些可用资源运行任务。
89.本实施方式中,资源管理器在需要更多可用资源时利用容器云平台实现资源池的扩容,实现资源的动态调配,提高共享集群中资源的利用率。
90.在一个实施方式中,请参阅图5,图5为图3中步骤s34一实施方式的流程示意图,可通过如下步骤根据节点管理服务容器的空闲时长管理已被释放的可用资源。
91.步骤s51,资源管理器判断空闲时长是否超过预设值。
92.当资源管理器确定节点管理服务容器配置为复用时,并不立刻删除对应的已经释放的可用资源,而是读取初始配置的关于节点管理服务容器的生命周期管理策略的相关参数,获得节点管理服务容器的空闲时长的预设值。且自节点管理服务容器被创建时,资源管理器便启动定时任务,监控对应的可用资源的使用情况。
93.步骤s52,若是,利用容器云平台删除已被释放的可用资源。
94.如果资源管理器判定节点管理服务容器的空闲时长超过预设值,即其中的可用资
源超时未被使用,则可利用容器云平台删除这些已被释放的可用资源。具体可先请求容器云平台删除节点管理服务容器,再从资源池中删除对应的可用资源。
95.步骤s53,否则,将资源池保持原状,并返回判断空闲时长是否超过预设值的步骤。
96.如果资源管理器判定节点管理服务容器的空闲时长未超过预设值,则将资源池保持原状,并返回判断空闲时长是否超过预设值的步骤,即继续计时,并在可用资源超时未被使用时将其删除。
97.本实施方式在节点管理服务容器配置为复用时,根据空闲时长管理对应的可用资源,能够在集群工作负载较大时,缩短重复创建节点管理服务容器而花费的时间,提高集群的稳定性。
98.在一个实施方式中,请参阅图6,图6为图1中步骤s13之后一实施方式的流程示意图,本实施方式在利用容器云平台获取可用资源并将其加入资源池之后,还包括如下步骤:
99.步骤s61,资源管理器向节点管理器发送指令,以使节点管理器接收指令后,利用资源池中的可用资源创建应用管理器。
100.如前所述,资源池中可能有预先配置的固有节点对应的可用资源,也可能有利用容器云平台获取且未被删除的可用资源,当这些可用资源不小于新接收到的任务的启动资源时,资源管理器可指示节点管理器直接利用这引起可用资源创建应用管理器,使得应用管理器可进一步管理任务的运行。
101.步骤s62,接收应用管理器反馈的任务所需的执行资源。
102.一个任务通常包括多个子任务,应用管理器被创建之后,获取运行这些子任务所需的执行资源,并向资源管理器请求可用资源,用于运行这些子任务。
103.步骤s63,判断资源池中的可用资源是否小于执行资源。
104.资源管理器接收到请求之后,可判断资源池中的可用资源是否小于执行资源,以判定是否需要进行进一步扩容。
105.步骤s64,若是,利用容器云平台获取可用资源并将其加入资源池中,并将资源池中的可用资源分配给应用管理器,以使应用管理器运行任务。
106.如果资源池中的可用资源小于执行资源,说明需要进行扩容,则利用容器云平台获取更多的可用资源并加入资源池中,具体的扩容方法可参见上述实施方式,此处不再赘述。扩容之后,资源管理器可将所需的可用资源分配给应用管理器,以使应用管理器与节点管理器配合运行任务。
107.步骤s65,否则,直接将资源池中的可用资源分配给应用管理器,以使应用管理器运行任务。
108.如果资源池中的可用资源不小于执行资源,说明不需要进行扩容,资源管理器可直接将所需的可用资源分配给应用管理器,以使应用管理器与节点管理器配合运行任务。
109.本实施方式中,资源管理器可根据运行任务所需资源的实时情况,与容器云平台通信,对资源池实现扩容,提高资源的利用率。
110.下面结合一个具体的应用场景说明资源管理方法的具体过程,请参阅图7,图7为本技术资源管理方法另一实施方式的流程示意图,包括如下步骤。其中,rm属于yarn集群,yarn集群在基于k8s的容器云环境中部署。
111.步骤s71,rm接收任务,并解析任务所需的启动资源。
112.步骤s72,rm判断资源池中的可用资源是否小于启动资源,若是,执行步骤s73,否则,执行步骤s76。
113.步骤s73,rm向k8s发送创建nm pod的请求信息;其中,nm pod中包括可用资源。
114.步骤s74,rm接收nm pod反馈的可用资源的注册信息。
115.步骤s75,rm将注册信息对应的可用资源加入资源池中。
116.步骤s76,rm向nm发送指令,以使nm接收指令后,利用资源池中的可用资源创建am。
117.步骤s77,rm接收nm反馈的可用资源的使用信息,并根据使用信息解析已被释放的可用资源;其中,nm根据am的反馈获取需要释放的可用资源。
118.步骤s78,rm判断已被释放的可用资源是否为利用k8s获取的。若是,执行步骤s79,否则,执行步骤s712。
119.步骤s79,rm判断已被释放的可用资源对应的nm pod是否配置为复用。若是,执行步骤s710,否则,执行步骤s711。
120.步骤s710,rm判断空闲时长是否超过预设值。若是,执行步骤711,否则,执行步骤s712,并返回至步骤s710。
121.步骤s711,rm向k8s发送删除nm pod的请求信息。
122.步骤s712,将资源池保持原状。
123.步骤s713,rm响应于nm pod已被删除,从资源池中删除已被释放的可用资源。
124.本实施方式中,yarn集群在基于k8s的容器云环境中部署,yarn集群的规模能够根据工作负载的变化而弹性变化,从而最大化利用资源。当无工作负载时,支持nm pod缩容到0,此时nm服务不占用k8s的任何资源;当工作负载变大时,nm pod能够快速实现扩容,以满足业务对yarn资源的需求。而且,本实施方式提出了多种不同的nm pod生命周期管理策略,可以灵活对nm pod进行复用。当yarn集群工作负载较大时,保留nm pod能有效的缩短由于nm pod启动而花费的时间,进一步提高集群的稳定性。
125.基于同样的发明构思,本技术还提供一种资源管理器,请参阅图8,图8为本技术资源管理器一实施方式的结构示意图,该资源管理器包括存储器810以及与存储器810耦接的处理器820,存储器810存储有程序指令,处理器820能够执行该程序指令以实现上述任一实施方式所述的资源管理方法。具体可参阅上述实施方式,此处不再赘述。
126.此外,本技术还提供一种计算机可读存储介质,请参阅图9,图9为本技术计算机可读存储介质一实施方式的结构示意图,该存储介质100上存储有程序指令110,该程序指令110能够被处理器执行以实现上述任一实施方式所述的资源管理方法。具体可参阅上述实施方式,此处不再赘述。
127.以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献