CN113127186A - 配置集群节点资源的方法、装置、服务器和存储介质 - Google Patents
配置集群节点资源的方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN113127186A CN113127186A CN201911410034.7A CN201911410034A CN113127186A CN 113127186 A CN113127186 A CN 113127186A CN 201911410034 A CN201911410034 A CN 201911410034A CN 113127186 A CN113127186 A CN 113127186A
- Authority
- CN
- China
- Prior art keywords
- cluster
- amount
- resource
- resource allocation
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013468 resource allocation Methods 0.000 claims abstract description 233
- 238000012545 processing Methods 0.000 claims abstract description 34
- 230000015654 memory Effects 0.000 claims description 25
- 239000000725 suspension Substances 0.000 claims description 21
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 241000970807 Thermoanaerobacterales Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Abstract
本公开是关于一种配置集群节点资源的方法、装置、服务器和存储介质,属于信息技术领域。所述方法包括:每当到达预设的资源配置周期时,获取集群节点所属的至少两个集群分别对应的资源分配参照信息,其中,资源分配参照信息包括当前闲置资源量;基于资源分配参照信息,确定集群节点所属的每个集群对应的资源分配量;基于资源分配量,对集群节点中的资源进行资源配置处理。采用本公开,可以主动在每个资源配置周期,基于资源分配参照信息动态对集群节点中的资源进行资源配置处理,进而可以实现同一集群节点中资源量的动态分配和平衡。
Description
技术领域
本公开是关于信息技术领域,尤其是关于一种配置集群节点资源的方法、装置、服务器和存储介质。
背景技术
可以将不同任务设置在不同集群上执行,每个集群包括多个集群节点,集群节点可以是服务器,也可以是服务器中划分出的一个虚拟机、一个容器等。每个集群节点有一定的资源,可以通过这些资源来执行任务,其中,资源包括处理器(Central ProcessingUnit,CPU)资源和内存空间等。
在集群中还会设置一个调度器,当调度器接收到执行任务的指示时,可以将获取到的任务下发到集群中空闲的集群节点,由空闲的集群节点来执行下发的任务。
在实现本公开的过程中,发明人发现至少存在以下问题:
相关技术中当集群节点执行完下发的任务之后,又会处于空闲状态,导致相关技术中的集群节点的利用率比较低。
发明内容
为了克服相关技术中存在的问题,本公开提供了以下技术方案:
根据本公开实施例的第一方面,提供一种配置集群节点资源的方法,所述方法包括:
每当到达预设的资源配置周期时,获取所述集群节点所属的至少两个集群分别对应的资源分配参照信息,其中,所述资源分配参照信息包括当前闲置资源量;
基于所述资源分配参照信息,确定所述集群节点所属的每个集群对应的资源分配量;
基于所述资源分配量,对所述集群节点中的资源进行资源配置处理。
通过本公开实施例提供的方法,可以实现对集群节点的复用,即将不同集群设置在同一个集群节点中,同一个集群节点可以将内部资源分开,通过不同资源执行不同集群的任务,这样集群节点的利用率较高。此外,通过本公开实施例提供的方法,还可以主动在每个资源配置周期,基于资源分配参照信息动态对集群节点中的资源进行资源配置处理,进而可以实现同一集群节点中资源量的动态分配和平衡。
在一种可能的实现方式中,所述基于所述资源分配参照信息,确定所述集群节点所属的每个集群对应的资源分配量,包括:
确定所述集群节点所属的所有集群的当前闲置资源量的平均值;
基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量。
对于集群节点中的任一集群,其历史资源分配量等于资源使用量与当前闲置资源量的和值,在当前的资源配置周期中,可以保持各集群的资源使用量不变,将所有集群的当前闲置资源量均匀分配给每一个集群,得到当前的资源配置周期中每个集群的资源分配量。
在一种可能的实现方式中,所述资源分配参照信息还包括资源使用量,所述基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量,包括:
将所述集群节点所属的每个集群的资源使用量,分别加上所述平均值,得到对应集群的资源分配量。
对于集群节点中的任一集群,其历史资源分配量等于资源使用量与当前闲置资源量的和值,在当前的资源配置周期中,可以保持各集群的资源使用量不变,将所有集群的当前闲置资源量均匀分配给每一个集群,得到当前的资源配置周期中每个集群的资源分配量。
在一种可能的实现方式中,所述资源分配参照信息还包括上一个资源配置周期确定出的历史资源分配量,所述基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量,包括:
确定所述平均值和每个集群的当前闲置资源量之间的差值,作为所述每个集群分别对应的资源调整值;
将所述集群节点所属的每个集群的历史资源分配量,分别加上对应的资源调整值,得到对应集群的资源分配量。
资源调整值可以是正数,也可以是负数。可以计算所有集群的当前闲置资源量的平均值,以平均值为目标,将各集群的当前闲置资源量调整为与该平均值一致,这样可以达到均衡所有集群中的当前闲置资源量的目的。
在一种可能的实现方式中,所述资源分配参照信息还包括执行挂起任务所需的资源总量,所述基于所述资源分配参照信息,确定所述集群节点所属的每个集群对应的资源分配量,包括:
基于所述集群节点所属的每个集群的当前闲置资源量和执行挂起任务所需的资源总量,确定每个集群的预计可用资源量;
确定所有集群的预计可用资源量的平均值;
基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量。
可以基于每个集群的当前闲置资源量和执行挂起任务所需的资源总量,确定每个集群的预计可用资源量,在确定每个集群的预计可用资源量之后,可以计算它们的平均值,最后可以基于得到的平均值,确定集群节点所属的每个集群对应的资源分配量。
在一种可能的实现方式中,所述基于所述集群节点所属的每个集群的当前闲置资源量和执行挂起任务所需的资源总量,确定每个集群的预计可用资源量,包括:
对于每个集群,如果所述集群的当前闲置资源量小于对应的执行挂起任务所需的资源总量,则所述集群的预计可用资源量为0,如果所述集群的挂起任务所需的资源总量为0,则所述集群的预计可用资源量为所述集群的当前闲置资源量。
如果任一集群的当前闲置资源量小于对应的执行挂起任务所需的资源总量,则表示该集群当前的闲置资源量不足执行挂起任务,挂起任务需要等待当前执行的任务执行完毕之后,才能执行,或者等待有更多的可用资源被调度过来之后,才能执行,因此这种集群的预计可用资源量为0。不存在当前闲置资源量大于或者等于对应的执行挂起任务所需的资源总量的集群,因为如果当前闲置资源量大于或者等于对应的执行挂起任务所需的资源总量,则挂起任务会立即被执行,也就不存在挂起任务了。如果不存在挂起任务,则集群的挂起任务所需的资源总量为0,该集群的预计可用资源量为集群的当前闲置资源量。
在一种可能的实现方式中,所述资源分配参照信息还包括上一个资源配置周期确定出的历史资源分配量,所述基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量,包括:
确定所述平均值和所述集群节点所属的每个集群的预计可用资源量之间的差值,作为所述每个集群分别对应的资源调整值;
将所述每个集群的历史资源分配量,分别加上对应的资源调整值,得到对应集群的资源分配量。
在确定每个集群的预计可用资源量之后,可以计算它们的平均值,接着可以确定平均值和集群节点所属的每个集群的预计可用资源量之间的差值,作为每个集群分别对应的资源调整值,最后可以用每个集群的历史资源分配量,分别加上对应的资源调整值,得到对应集群的资源分配量。
根据本公开实施例的第二方面,提供一种配置集群节点资源的装置,该装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的配置集群节点资源的方法。
根据本公开实施例的第三方面,提供一种计算设备,该计算设备包括处理单元和存储器,所述存储器中存储有程序指令,所述处理单元与所述存储器耦合,所述处理器执行所述程序指令实现上述第一方面所提供的配置集群节点资源的方法。
根据本公开实施例的第四面,提供一种计算机可读存储介质,包括指令,当所述计算机可读存储介质在计算设备上运行时,使得所述计算设备执行上述第一方面所述的方法。
根据本公开实施例的第五面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算设备上运行时,使得所述计算设备执行上述第一方面所述的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过本公开实施例提供的方法,可以实现对集群节点的复用,即将不同集群设置在同一个集群节点中,同一个集群节点可以将内部资源分开,通过不同资源执行不同集群的任务,这样集群节点的利用率较高。此外,通过本公开实施例提供的方法,还可以主动在每个资源配置周期,基于资源分配参照信息动态对集群节点中的资源进行资源配置处理,进而可以实现同一集群节点中资源量的动态分配和平衡。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。在附图中:
图1是根据一示例性实施例示出的一种配置集群节点资源的系统的结构示意图;
图2是根据一示例性实施例示出的一种混合管理器的结构示意图;
图3是根据一示例性实施例示出的一种配置集群节点资源的方法的流程示意图;
图4是根据一示例性实施例示出的一种配置集群节点资源的系统的结构示意图;
图5是根据一示例性实施例示出的一种配置集群节点资源的装置的结构示意图;
图6是根据一示例性实施例示出的一种计算设备的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供了一种配置集群节点资源的方法,该方法可以由作为混合管理器的服务器实现,并可以由作为各集群管理器和集群节点的服务器配合实现。如图1所示,是本公开实施例提供的一种配置集群节点资源的系统的结构示意图。
一个集群节点可以是一台服务器、一台服务器中划分出的多个虚拟机中的一个虚拟机、一台服务器中设置的多个容器中的一个容器等。一个集群节点可以被一个集群纳管,也可以被多个集群纳管。不同集群管理器可以接收到不同类型的任务,集群管理器在接收到一个任务时,可以在纳管的多个集群节点中确定出目标集群节点,调度目标集群节点执行接收到的任务。混合管理器可以为每个集群节点中的集群分配适当的资源,以使得每个集群节点中的集群可以基于分配到的资源执行任务。
如图2所示,混合管理器可以包括资源调度算法模块、资源采集监控模块、资源更新模块和数据库。资源调度算法模块用于基于资源采集监控模块采集的资源分配参照信息,确定各集群在集群节点中的资源分配量,资源更新模块用于基于各集群对应的资源分配量,对集群节点中的资源进行资源配置处理,数据库用于存储上述过程产生或者需要使用的一些数据。
本公开一示例性实施例提供了一种配置集群节点资源的方法,如图3所示,该方法的处理流程可以包括如下的步骤:
步骤S301,每当到达预设的资源配置周期时,获取集群节点所属的至少两个集群分别对应的资源分配参照信息。
其中,资源分配参照信息可以包括当前闲置资源量。
在实施中,可以设置资源配置周期,每当到达预设的资源配置周期时,混合管理器都可以获取集群节点对应的资源分配参照信息,基于集群节点对应的资源分配参照信息,对集群节点中的资源进行资源配置处理。需要说明的是,本公开实施例中所述的集群节点为配置集群节点资源的系统中包括的多个集群节点中的任一集群节点,每个集群节点都可以采用本公开实施例提供的配置集群节点资源的方法对集群节点中的资源进行资源配置处理,在本公开实施例中仅以任一集群节点为例进行配置集群节点资源的方法的说明,对其他集群节点中的资源进行资源配置处理的方式与之相同,在此不再重复赘述。
每当到达预设的资源配置周期时,混合管理器可以主动基于集群节点对应的资源分配参照信息,对集群节点中的资源进行资源配置处理。相比于当集群节点中的任一集群需要执行任务时,才请求执行任务所需的资源的方式,混合管理器主动对集群节点中的资源进行资源配置处理的方式更可以预先主动对集群节点中的资源进行调度,以防混合管理器发生运行故障时任务不能顺利执行。
每当到达预设的资源配置周期时,混合管理器可以获取集群节点所属的每个集群的当前闲置资源量。例如,一个集群节点共包括10个资源,该集群节点属于集群A和集群B两个集群,上一个资源配置周期中分给集群A的资源为4个资源,分给集群B的资源为6个资源,集群A和集群B分别执行了分配给各自的任务,执行任务的过程中分别消耗了一定的资源,当前集群A分配的资源还剩2个,集群B分配的资源还剩4个,因此该集群节点所属的集群A的当前闲置资源量为2,该集群节点所属的集群B的当前闲置资源量为4。其中,资源可以包括处理器资源和内存空间等。在该示例中仅以一个集群节点进行说明,该集群节点同属于集群A和集群B两个集群,如果还存在其他集群节点,也可以参照这种方式确定每个集群节点所属的所有集群的当前闲置资源量。
步骤S302,基于资源分配参照信息,确定集群节点所属的每个集群对应的资源分配量。
在实施中,混合管理器可以基于包括当前闲置资源量的资源分配参照信息,确定集群节点所属的各集群对应的资源分配量。
集群节点所属的不同集群在上一个资源配置周期得到了一定的资源分配量,基于得到的资源分配量执行任务,在执行任务的过程中,可能会剩余一些资源未使用,未使用的资源即为当前闲置资源量。当前闲置资源量在一定程度上可以反应出集群节点所属的一个集群分配到的资源分配量相对于当前运行的任务是否足够,如果充足,则当前闲置资源量较多,如果不足,则当前闲置资源量较少甚至为零。因此可以基于当前闲置资源量,确定当前资源配置周期中集群节点所属的各集群对应的资源分配量。
步骤S303,基于资源分配量,对集群节点中的资源进行资源配置处理。
在实施中,混合管理器在确定集群节点所属的各集群对应的资源分配量之后,可以基于各集群对应的资源分配量,对集群节点中的资源进行资源配置处理。在一种可能的实现方式中,集群节点由不同集群管纳,每个集群可以设置一个集群管理器,混合管理器可以指示各集群管理器其所管纳的集群节点中分配给它的资源量是多少,各集群管理器可以基于该指示在本地记录其分配到的资源量,并基于分配到的资源量执行任务。
可以通过本公开实施例提供的方法确定任一集群节点所属的每个集群的资源分配量,因此可以以集群节点为粒度执行本公开实施例提供的方法。通过重复执行本公开实施例提供的方法,可以确定每个集群节点所属的每个集群的资源分配量。每个集群节点可能会被多个集群所管纳,假设配置集群节点资源的系统中一共存在5个集群,5个集群管纳的集群节点可能存在重复,可以分别确定5个集群各自管纳的集群节点,进一步还可以确定每个集群管纳的各集群节点分别对应的资源分配量,将一个集群管纳的各集群节点分别对应的资源分配量列入一个资源分配列表中,将资源分配列表发送至对应的集群管理器。集群管理器可以通过资源分配列表确定其所管纳的各集群节点中分别有多少资源量可以使用。
在集群管理器接收到资源分配列表后,可以通过集群管理器中的插件程序,占用对应集群节点中的资源。其中,插件程序也可以称为Plugin,插件程序为非侵入式的程序。
可选地,步骤S302可以包括:确定集群节点所属的所有集群的当前闲置资源量的平均值;基于平均值,确定集群节点所属的每个集群对应的资源分配量。
在实施中,资源分配参照信息还可以包括资源使用量,资源使用量可以是集群在执行任务的过程中使用的资源量。可以确定集群节点所属的所有集群的当前闲置资源量的平均值,将集群节点所属的每个集群的资源使用量,分别加上平均值,得到对应集群的资源分配量。对于集群节点中的任一集群,其历史资源分配量等于资源使用量与当前闲置资源量的和值,在当前的资源配置周期中,可以保持各集群的资源使用量不变,将所有集群的当前闲置资源量均匀分配给每一个集群,得到当前的资源配置周期中每个集群的资源分配量。
例如,如图4所示,一个集群节点Slave2属于两个集群,包括Yarn(Yarn是由Apache基金会所开发的分布式系统基础架构集群的资源管理系统)集群和Kubernetes(是用于自动部署、扩展和管理容器化应用程序的开源系统,简写为K8S)集群,其中,Yarn集群可以运行大数据任务或者离线任务,Kubernetes集群可以运行平台即服务(Platform-as-a-Service,PASS)负载任务或者在线任务。离线任务为在某一时间段内集中需要处理的任务量较大,但是在处理完毕之后,离线任务就结束了,而在线任务为需要长时间一直执行某一任务,执行任务的任务量较为平均。混合管理器可以获取Yarn集群的当前闲置资源量和资源使用量,获取K8S集群的当前闲置资源量和资源使用量,确定Yarn集群和K8S集群的当前闲置资源量的平均值,将Yarn集群的资源使用量加上该平均值得到Yarn集群的资源分配量,将K8S集群的资源使用量加上该平均值得到K8S集群的资源分配量。
可以通过如下表达式表示Yarn集群的资源分配量:
相应地,可以通过如下表达式表示K8S集群的资源分配量:
除了上述方式之外,资源分配参照信息还可以包括上一个资源配置周期确定出的历史资源分配量,可以确定集群节点所属的所有集群的当前闲置资源量的平均值,确定平均值和每个集群的当前闲置资源量之间的差值,作为每个集群分别对应的资源调整值,将集群节点所属的每个集群的历史资源分配量,分别加上对应的资源调整值,得到对应集群的资源分配量。其中,资源调整值可以是正数,也可以是负数。可以计算所有集群的当前闲置资源量的平均值,以平均值为目标,将各集群的当前闲置资源量调整为与该平均值一致,这样可以达到均衡所有集群中的当前闲置资源量的目的。
例如,混合管理器可以获取Yarn集群的当前闲置资源量和历史资源分配量,获取K8S集群的当前闲置资源量和历史资源分配量。确定Yarn集群和K8S集群的当前闲置资源量的平均值,用该平均值减去Yarn集群的当前闲置资源量,得到Yarn集群的资源调整值,用该平均值减去K8S集群的当前闲置资源量,得到K8S集群的资源调整值。假设Yarn集群的当前闲置资源量小于平均值,则Yarn集群的资源调整值为正数,K8S集群的当前闲置资源量大于平均值,则K8S集群的资源调整值为负数。在确定出Yarn集群的资源调整值和K8S集群的资源调整值之后,可以用Yarn集群的历史资源分配量加上Yarn集群的资源调整值,得到Yarn集群的资源分配量,用K8S集群的历史资源分配量加上K8S集群的资源调整值,得到K8S集群的资源分配量。
可以通过如下表达式表示Yarn集群的资源分配量:
Yarn集群的历史资源分配量+(平均值-Yarn集群的当前闲置资源量) (表达式3)
相应地,可以通过如下表达式表示K8S集群的资源分配量:
K8S集群的历史资源分配量+(平均值-K8S集群的当前闲置资源量) (表达式4)
当任一集群的当前闲置资源量小于所有集群的当前闲置资源量的平均值时,最终确定出的集群的资源分配量要小于历史资源分配量。当任一集群的当前闲置资源量大于所有集群的当前闲置资源量的平均值时,最终确定出的集群的资源分配量要大于历史资源分配量。
可选地,资源分配参照信息还可以包括执行挂起任务所需的资源总量,步骤S302可以包括:基于集群节点所属的每个集群的当前闲置资源量和执行挂起任务所需的资源总量,确定每个集群的预计可用资源量;确定所有集群的预计可用资源量的平均值;基于平均值,确定集群节点所属的每个集群对应的资源分配量。
在实施中,对于任一集群,如果其管纳的各集群节点都处于忙碌状态,执行接收到的任务所需的资源量要大于各集群节点中属于当前集群的资源的闲置资源量,此时当前集群的集群管理器可以将接收到的任务分给目标集群节点,但是由于目标集群节点中属于当前集群的资源的闲置资源量小于执行接收到的任务所需的资源量,因此目标集群节点可以将任务挂起,挂起的任务也可称为Pending Task。可以确定每个集群的挂起任务,确定每个集群的执行挂起任务所需的资源总量。
可以基于每个集群的当前闲置资源量和执行挂起任务所需的资源总量,确定每个集群的预计可用资源量,在确定每个集群的预计可用资源量之后,可以计算它们的平均值,最后可以基于得到的平均值,确定集群节点所属的每个集群对应的资源分配量。
可选地,基于集群节点所属的每个集群的当前闲置资源量和执行挂起任务所需的资源总量,确定每个集群的预计可用资源量的步骤可以包括:对于每个集群,如果集群的当前闲置资源量小于对应的执行挂起任务所需的资源总量,则集群的预计可用资源量为0,如果集群的挂起任务所需的资源总量为0,则集群的预计可用资源量为集群的当前闲置资源量。
在实施中,如果任一集群的当前闲置资源量小于对应的执行挂起任务所需的资源总量,则表示该集群当前的闲置资源量不足执行挂起任务,挂起任务需要等待当前执行的任务执行完毕之后,才能执行,或者等待有更多的可用资源被调度过来之后,才能执行,因此这种集群的预计可用资源量为0。不存在当前闲置资源量大于或者等于对应的执行挂起任务所需的资源总量的集群,因为如果当前闲置资源量大于或者等于对应的执行挂起任务所需的资源总量,则挂起任务会立即被执行,也就不存在挂起任务了。如果不存在挂起任务,则集群的挂起任务所需的资源总量为0,该集群的预计可用资源量为集群的当前闲置资源量。可以基于这种方式计算每个集群的预计可用资源量。
例如,一个集群节点Slave2属于两个集群,包括Yarn集群和K8S集群,混合管理器可以确定Yarn集群的当前闲置资源量和K8S集群的当前闲置资源量,确定Yarn集群的执行挂起任务所需的资源总量和K8S集群的执行挂起任务所需的资源总量,可以通过如下表达式表示Yarn集群的预计可用资源量:
Yarn集群的当前闲置资源量or 0 (表达式5)
可以通过如下表达式表示K8S集群的预计可用资源量:
K8S集群的当前闲置资源量or 0 (表达式6)
可选地,资源分配参照信息还可以包括上一个资源配置周期确定出的历史资源分配量,基于平均值,确定集群节点所属的每个集群对应的资源分配量的步骤可以包括:确定平均值和集群节点所属的每个集群的预计可用资源量之间的差值,作为每个集群分别对应的资源调整值;将每个集群的历史资源分配量,分别加上对应的资源调整值,得到对应集群的资源分配量。
在实施中,在确定每个集群的预计可用资源量之后,可以计算它们的平均值,接着可以确定平均值和集群节点所属的每个集群的预计可用资源量之间的差值,作为每个集群分别对应的资源调整值,最后可以用每个集群的历史资源分配量,分别加上对应的资源调整值,得到对应集群的资源分配量。
例如,一个集群节点Slave2属于两个集群,包括Yarn集群和K8S集群,集群节点Slave2中的总资源量为20,对集群节点Slave2中的资源进行分配,确定出的Yarn集群能够得到的资源分配量和K8S集群能够得到的资源分配量的情况可见下表:
表1
通过上表可以看出Yarn集群和K8S集群基于各自的情况,在当前的资源配置周期得到的资源分配量依次为8和12。
可以通过如下表达式表示Yarn集群的资源分配量:
Yarn集群的历史资源分配量+(平均值-Yarn集群的预计可用资源量) (表达式7)
可以通过如下表达式表示K8S集群的资源分配量:
K8S集群的历史资源分配量+(平均值-K8S集群的预计可用资源量) (表达式8)
其中,表达式7或表达式8中的平均值可以表示为
可选地,如果任一集群W的历史资源分配量大于该集群的当前的资源分配周期确定出的资源分配量,则可以优先基于该集群W的资源分配量进行资源配置处理。如果任一集群W的历史资源分配量小于该集群W的当前的资源分配周期确定出的资源分配量,则在对需要优先进行资源配置处理的集群V优先进行资源配置处理之后,可以再基于该集群W的资源分配量进行资源配置处理。
在实施中,通过优先对历史资源分配量大于当前的资源分配周期确定出的资源分配量的集群进行资源配置处理,在对需要优先进行资源配置处理的集群优先进行资源配置处理之后,再对历史资源分配量小于当前的资源分配周期确定出的资源分配量的集群进行资源配置处理,可以避免出现资源溢出的情况。如果先对历史资源分配量升高的集群进行资源配置处理,再对历史资源分配量降低的集群进行资源配置处理,且在对历史资源分配量升高的集群进行资源配置处理之后混合管理器出现故障,则无法正常对历史资源分配量降低的集群进行资源配置处理,这样计算出的集群节点的资源总量会超过实际的资源总量,进而会出现资源溢出的情况,而通过本公开实施例提供的方法,即使混合管理器在进行资源配置处理的过程中出现了故障,也不会出现资源溢出的情况。
在混合管理器确定出一个集群节点所属的不同集群的资源分配量之后,可以向各集群管理器发送携带有对应的资源分配量的指示信息,各集群管理器接收到指示信息之后,可以通过各集群管理器中的插件程序占用集群节点中的资源。
假设集群节点属于两个集群,对于Yarn集群,集群管理器中的Yarn插件程序可以通过调用命令行或者API的方法,调整集群节点中的资源分配量。对于K8S集群,集群管理器中的K8S插件程序可以通过Fake Pod的方法,对集群节点中的资源进行占位,以实现调整集群节点中的资源分配量的目的。
通过本公开实施例提供的方法,可以实现对集群节点的复用,即将不同集群设置在同一个集群节点中,同一个集群节点可以将内部资源分开,通过不同资源执行不同集群的任务,这样集群节点的利用率较高。此外,通过本公开实施例提供的方法,还可以主动在每个资源配置周期,基于资源分配参照信息动态对集群节点中的资源进行资源配置处理,进而可以实现同一集群节点中资源量的动态分配和平衡。
本公开又一示例性实施例提供了一种配置集群节点资源的装置,如图5所示,该装置包括:
获取模块501,用于每当到达预设的资源配置周期时,获取所述集群节点所属的至少两个集群分别对应的资源分配参照信息,其中,所述资源分配参照信息包括当前闲置资源量,具体可以实现上述步骤S301中的获取功能,以及其他隐含步骤;
确定模块502,用于基于所述资源分配参照信息,确定所述集群节点所属的每个集群对应的资源分配量,具体可以实现上述步骤S302中的确定功能,以及其他隐含步骤;
配置模块503,用于基于所述资源分配量,对所述集群节点中的资源进行资源配置处理,具体可以实现上述步骤S303中的配置功能,以及其他隐含步骤。
可选地,所述确定模块502,用于:
确定所述集群节点所属的所有集群的当前闲置资源量的平均值;
基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量。
可选地,所述资源分配参照信息还包括资源使用量,所述确定模块502,用于:
将所述集群节点所属的每个集群的资源使用量,分别加上所述平均值,得到对应集群的资源分配量。
可选地,所述资源分配参照信息还包括上一个资源配置周期确定出的历史资源分配量,所述确定模块502,用于:
确定所述平均值和每个集群的当前闲置资源量之间的差值,作为所述每个集群分别对应的资源调整值;
将所述集群节点所属的每个集群的历史资源分配量,分别加上对应的资源调整值,得到对应集群的资源分配量。
可选地,所述资源分配参照信息还包括执行挂起任务所需的资源总量,所述确定模块502,用于:
基于所述集群节点所属的每个集群的当前闲置资源量和执行挂起任务所需的资源总量,确定每个集群的预计可用资源量;
确定所有集群的预计可用资源量的平均值;
基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量。
可选地,所述确定模块502,用于:
对于每个集群,如果所述集群的当前闲置资源量小于对应的执行挂起任务所需的资源总量,则所述集群的预计可用资源量为0,如果所述集群的挂起任务所需的资源总量为0,则所述集群的预计可用资源量为所述集群的当前闲置资源量。
可选地,所述资源分配参照信息还包括上一个资源配置周期确定出的历史资源分配量,所述确定模块502,用于:
确定所述平均值和所述集群节点所属的每个集群的预计可用资源量之间的差值,作为所述每个集群分别对应的资源调整值;
将所述每个集群的历史资源分配量,分别加上对应的资源调整值,得到对应集群的资源分配量。
需要说明的是,上述获取模块501、确定模块502和配置模块503可以由处理器实现,或者由处理器配合存储器、收发器来实现。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过本公开实施例提供的装置,可以实现对集群节点的复用,即将不同集群设置在同一个集群节点中,同一个集群节点可以将内部资源分开,通过不同资源执行不同集群的任务,这样集群节点的利用率较高。此外,通过本公开实施例提供的装置,还可以主动在每个资源配置周期,基于资源分配参照信息动态对集群节点中的资源进行资源配置处理,进而可以实现同一集群节点中资源量的动态分配和平衡。
需要说明的是:上述实施例提供的配置集群节点资源的装置在配置集群节点的资源时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的配置集群节点资源的装置与配置集群节点资源的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图6,图6是本申请实施例提供的一种计算设备的结构示意图。如图6所示,该计算设备600包括:处理单元610、通信接口620以及存储器630,所述处理单元610、通信接口620以及存储器630通过内部总线640相互连接。应理解,该计算设备可以是服务器。
所述处理单元610可以由一个或者多个通用处理器构成,例如中央处理器(central processing unit,CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
总线640可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线640可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但不表示仅有一根总线或一种类型的总线。
存储器630可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器630也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM)、快闪存储器(flash memory)、硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器630还可以包括上述种类的组合。存储器630可用于存储程序代码和数据,以便于处理单元610调用存储器630中存储的程序代码和数据以实现上述获取模块501、确定模块502和配置模块503。存储器630中的数据包括资源分配参照信息。程序代码可以是用来实现图5所示的配置集群节点资源的装置的功能模块,或者用于实现图3所示的方法实施例中以配置集群节点资源的装置为执行主体的方法步骤。
此外,上述实施例中的配置集群节点资源的装置也可以由多个计算设备600实现。多个计算设备600包括多个处理单元610和多个存储器630。多个处理单元610协同实现如图5中所示的获取模块501、确定模块502和配置模块503。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在设备上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是设备能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(Digital Video Disk,DVD)等),或者半导体介质(如固态硬盘等)。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (16)
1.一种配置集群节点资源的方法,其特征在于,所述方法包括:
每当到达预设的资源配置周期时,获取所述集群节点所属的至少两个集群分别对应的资源分配参照信息,其中,所述资源分配参照信息包括当前闲置资源量;
基于所述资源分配参照信息,确定所述集群节点所属的每个集群对应的资源分配量;
基于所述资源分配量,对所述集群节点中的资源进行资源配置处理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述资源分配参照信息,确定所述集群节点所属的每个集群对应的资源分配量,包括:
确定所述集群节点所属的所有集群的当前闲置资源量的平均值;
基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量。
3.根据权利要求2所述的方法,其特征在于,所述资源分配参照信息还包括资源使用量,所述基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量,包括:
将所述集群节点所属的每个集群的资源使用量,分别加上所述平均值,得到对应集群的资源分配量。
4.根据权利要求2所述的方法,其特征在于,所述资源分配参照信息还包括上一个资源配置周期确定出的历史资源分配量,所述基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量,包括:
确定所述平均值和每个集群的当前闲置资源量之间的差值,作为所述每个集群分别对应的资源调整值;
将所述集群节点所属的每个集群的历史资源分配量,分别加上对应的资源调整值,得到对应集群的资源分配量。
5.根据权利要求1所述的方法,其特征在于,所述资源分配参照信息还包括执行挂起任务所需的资源总量,所述基于所述资源分配参照信息,确定所述集群节点所属的每个集群对应的资源分配量,包括:
基于所述集群节点所属的每个集群的当前闲置资源量和执行挂起任务所需的资源总量,确定每个集群的预计可用资源量;
确定所有集群的预计可用资源量的平均值;
基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量。
6.根据权利要求5所述的方法,其特征在于,所述基于所述集群节点所属的每个集群的当前闲置资源量和执行挂起任务所需的资源总量,确定每个集群的预计可用资源量,包括:
对于每个集群,如果所述集群的当前闲置资源量小于对应的执行挂起任务所需的资源总量,则所述集群的预计可用资源量为0,如果所述集群的挂起任务所需的资源总量为0,则所述集群的预计可用资源量为所述集群的当前闲置资源量。
7.根据权利要求5所述的方法,其特征在于,所述资源分配参照信息还包括上一个资源配置周期确定出的历史资源分配量,所述基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量,包括:
确定所述平均值和所述集群节点所属的每个集群的预计可用资源量之间的差值,作为所述每个集群分别对应的资源调整值;
将所述每个集群的历史资源分配量,分别加上对应的资源调整值,得到对应集群的资源分配量。
8.一种配置集群节点资源的装置,其特征在于,所述装置包括:
获取模块,用于每当到达预设的资源配置周期时,获取所述集群节点所属的至少两个集群分别对应的资源分配参照信息,其中,所述资源分配参照信息包括当前闲置资源量;
确定模块,用于基于所述资源分配参照信息,确定所述集群节点所属的每个集群对应的资源分配量;
配置模块,用于基于所述资源分配量,对所述集群节点中的资源进行资源配置处理。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,用于:
确定所述集群节点所属的所有集群的当前闲置资源量的平均值;
基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量。
10.根据权利要求9所述的装置,其特征在于,所述资源分配参照信息还包括资源使用量,所述确定模块,用于:
将所述集群节点所属的每个集群的资源使用量,分别加上所述平均值,得到对应集群的资源分配量。
11.根据权利要求9所述的装置,其特征在于,所述资源分配参照信息还包括上一个资源配置周期确定出的历史资源分配量,所述确定模块,用于:
确定所述平均值和每个集群的当前闲置资源量之间的差值,作为所述每个集群分别对应的资源调整值;
将所述集群节点所属的每个集群的历史资源分配量,分别加上对应的资源调整值,得到对应集群的资源分配量。
12.根据权利要求8所述的装置,其特征在于,所述资源分配参照信息还包括执行挂起任务所需的资源总量,所述确定模块,用于:
基于所述集群节点所属的每个集群的当前闲置资源量和执行挂起任务所需的资源总量,确定每个集群的预计可用资源量;
确定所有集群的预计可用资源量的平均值;
基于所述平均值,确定所述集群节点所属的每个集群对应的资源分配量。
13.根据权利要求12所述的装置,其特征在于,所述确定模块,用于:
对于每个集群,如果所述集群的当前闲置资源量小于对应的执行挂起任务所需的资源总量,则所述集群的预计可用资源量为0,如果所述集群的挂起任务所需的资源总量为0,则所述集群的预计可用资源量为所述集群的当前闲置资源量。
14.根据权利要求12所述的装置,其特征在于,所述资源分配参照信息还包括上一个资源配置周期确定出的历史资源分配量,所述确定模块,用于:
确定所述平均值和所述集群节点所属的每个集群的预计可用资源量之间的差值,作为所述每个集群分别对应的资源调整值;
将所述每个集群的历史资源分配量,分别加上对应的资源调整值,得到对应集群的资源分配量。
15.一种计算设备,其特征在于,所述计算设备包括处理单元和存储器,所述存储器中存储有程序指令,所述处理单元与所述存储器耦合,所述处理器执行所述程序指令实现如权利要求1-7中任一权利要求所述的方法。
16.一种计算机可读存储介质,其特征在于,包括指令,当所述计算机可读存储介质在计算设备上运行时,使得所述计算设备执行所述权利要求1-7中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911410034.7A CN113127186B (zh) | 2019-12-31 | 配置集群节点资源的方法、装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911410034.7A CN113127186B (zh) | 2019-12-31 | 配置集群节点资源的方法、装置、服务器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113127186A true CN113127186A (zh) | 2021-07-16 |
CN113127186B CN113127186B (zh) | 2024-04-26 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719082A (zh) * | 2009-12-24 | 2010-06-02 | 中国科学院计算技术研究所 | 虚拟化计算平台中应用请求调度的方法及其系统 |
US20140344452A1 (en) * | 2012-12-13 | 2014-11-20 | Level 3 Communications, Llc | Invalidation Sequencing in a Content Delivery Framework |
US20140344453A1 (en) * | 2012-12-13 | 2014-11-20 | Level 3 Communications, Llc | Automated learning of peering policies for popularity driven replication in content delivery framework |
CN108073448A (zh) * | 2016-11-15 | 2018-05-25 | 北京金山云网络技术有限公司 | 宿主机资源分配方法、装置、宿主机调度方法及装置 |
CN109874111A (zh) * | 2017-12-05 | 2019-06-11 | 中兴通讯股份有限公司 | 调度方法、发送信息的方法、装置及存储介质 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719082A (zh) * | 2009-12-24 | 2010-06-02 | 中国科学院计算技术研究所 | 虚拟化计算平台中应用请求调度的方法及其系统 |
US20140344452A1 (en) * | 2012-12-13 | 2014-11-20 | Level 3 Communications, Llc | Invalidation Sequencing in a Content Delivery Framework |
US20140344453A1 (en) * | 2012-12-13 | 2014-11-20 | Level 3 Communications, Llc | Automated learning of peering policies for popularity driven replication in content delivery framework |
CN108073448A (zh) * | 2016-11-15 | 2018-05-25 | 北京金山云网络技术有限公司 | 宿主机资源分配方法、装置、宿主机调度方法及装置 |
CN109874111A (zh) * | 2017-12-05 | 2019-06-11 | 中兴通讯股份有限公司 | 调度方法、发送信息的方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110941481A (zh) | 资源调度方法、装置及系统 | |
JP2015011716A (ja) | グリッドコンピューティングシステムの遊休リソースによるタスク実行 | |
CN113918270A (zh) | 基于Kubernetes的云资源调度方法及系统 | |
CN109564528B (zh) | 分布式计算中计算资源分配的系统和方法 | |
CN110221920B (zh) | 部署方法、装置、存储介质及系统 | |
WO2021103646A1 (zh) | 一种部署pod的方法及装置 | |
US11838384B2 (en) | Intelligent scheduling apparatus and method | |
US20230266999A1 (en) | Resource scheduling method, resource scheduling system, and device | |
CN107665143B (zh) | 资源管理方法、装置及系统 | |
CN112905342A (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
CN114625533A (zh) | 分布式任务调度方法、装置、电子设备及存储介质 | |
CN110795202B (zh) | 一种虚拟化集群资源管理系统的资源分配方法以及装置 | |
CN114116173A (zh) | 动态调整任务分配的方法、装置和系统 | |
US20230037293A1 (en) | Systems and methods of hybrid centralized distributive scheduling on shared physical hosts | |
CN116680078A (zh) | 云计算资源调度方法、装置、设备以及计算机存储介质 | |
CN113127186B (zh) | 配置集群节点资源的方法、装置、服务器和存储介质 | |
CN113760549B (zh) | 一种pod部署方法及装置 | |
CN113127186A (zh) | 配置集群节点资源的方法、装置、服务器和存储介质 | |
CN115658311A (zh) | 一种资源的调度方法、装置、设备和介质 | |
WO2022111466A1 (zh) | 任务调度方法、控制方法、电子设备、计算机可读介质 | |
CN110955522B (zh) | 一种协调性能隔离和数据恢复优化的资源管理方法及系统 | |
CN111813564B (zh) | 集群资源管理方法、装置及容器集群管理系统 | |
CN111459651B (zh) | 一种负载均衡方法、装置、存储介质及调度系统 | |
CN115878309A (zh) | 资源分配方法、装置、处理核、设备和计算机可读介质 | |
WO2017030912A1 (en) | Using multiple central processing unit cores for packet forwarding in virtualized networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220218 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant |