一种资源调度方法、装置、电子设备及存储介质制造方法及图纸

技术编号:25802073 阅读:19 留言:0更新日期:2020-09-29 18:36
本公开提供了一种资源调度方法、装置、电子设备及存储介质,其中,该方法包括:接收针对目标任务的资源分配触发请求,资源分配触发请求中携带有目标任务的资源需求量;判断资源调度系统中多个资源节点可用资源量的总和是否小于资源需求量;响应于小于资源需求量的第一判断结果,基于可用资源量的总和更新目标任务的资源积累列表;响应于大于或者等于资源需求量的第二判断结果,则从多个资源节点可用资源量的总和中选取与目标任务的资源需求量匹配的目标可用资源量,并将该目标可用资源量所指示目标资源节点上的集群资源分配给目标任务。采用上述方案能够避免各任务因仅分配到一部分资源而导致均不能启动的问题,提升资源利用率。

【技术实现步骤摘要】
一种资源调度方法、装置、电子设备及存储介质
本公开涉及大数据处理
,具体而言,涉及一种资源调度方法、装置、电子设备及存储介质。
技术介绍
另一种资源协调者(YetAnotherResourceNegotiator,YARN)作为一种新的Hadoop(一种分布式系统基础架构)资源管理器,它将资源管理从计算框架中分离出来,变为一个通用的资源管理系统,能够对Hadoop下的集群资源进行调度。目前,YARN在针对Flink计算任务进行资源调度时,每提交一个Flink计算任务会根据自身的情况,向YARN申请资源,这里,往往需要集齐足够多的资源才可以运行任务。这样,针对多个Flink计算任务而言,如果每个计算任务仅分配到一部分资源,则会导致各个任务均无法启动,这导致资源利用率较低。
技术实现思路
本公开实施例至少提供一种资源调度方案,能够在可用资源量累积到资源需求量的情况下为目标任务一次性的分配集群资源,避免各任务因仅分配到一部分资源而导致均不能启动的问题,提升资源利用率。主要包括以下几个方面:第一方面,本公开实施例提供了一种资源调度方法,所述方法包括:接收针对目标任务的资源分配请求,所述资源分配请求中携带有所述目标任务的资源需求量;接收资源调度系统中多个资源节点的可用资源量;判断所述多个资源节点所述可用资源量的总和是否小于所述资源需求量;响应于小于所述资源需求量的第一判断结果,基于所述可用资源量的总和更新所述目标任务的资源积累列表;所述资源积累列表用于记录为所述目标任务所累积分配的目标可用资源量在所述多个资源节点上的分布信息;响应于大于或者等于所述资源需求量的第二判断结果,则从所述多个资源节点所述可用资源量的总和中选取与所述目标任务的资源需求量匹配的目标可用资源量,并将该目标可用资源量所指示目标资源节点上的集群资源分配给所述目标任务。在一种实施方式中,在基于所述可用资源量的总和更新所述目标任务的资源积累列表之后,还包括:判断在达到预设累积截止条件之前,为所述目标任务所累积分配的目标可用资源量是否达到所述目标任务的资源需求量;若达到所述目标任务的资源需求量,则将所述目标可用资源量所指示的集群资源分配给所述目标任务;若未达到所述目标任务的资源需求量,则生成资源分配失败信息。在一种实施方式中,在基于所述可用资源量的总和更新所述目标任务的资源积累列表之后,还包括:查询所述资源调度系统中其他任务的资源积累列表;若所述其他任务的资源积累列表中为所述其他任务所累积分配的其他可用资源量、以及为所述目标任务所累积分配的目标可用资源量的和值大与或等于所述目标任务的资源需求量,则从所述其他可用资源量中选取与所述目标任务的资源需求量匹配的其他可用资源量,并将该其他可用资源量以及所述目标可用资源量所指示的集群资源分配给所述目标任务;并更新所述其他任务的资源积累列表。在一种实施方式中,按照如下步骤得到为所述目标任务所累积分配的目标可用资源量:在接收到本次针对目标任务的资源分配触发请求后,获取在前次为所述目标任务所累积分配的目标可用资源量;若在前次为所述目标任务所累积分配的目标可用资源量未达到所述目标任务的资源需求量,则确定在本次资源分配触发请求下,是否能够为所述目标任务分配新的待使用集群资源;若能够分配新的待使用集群资源,则基于分配的所述新的待使用集群资源对所述目标任务进行本次的资源累积分配,确定为所述目标任务所累积分配的目标可用资源量。在一种实施方式中,所述确定在本次资源分配触发请求下,是否能够为所述目标任务分配新的待使用集群资源,包括:在本次资源分配触发请求下,逐个遍历集群中的各台物理机,并在遍历到每一台物理机后,判断本次已遍历到的所有物理机的剩余资源量与前次为所述目标任务所累积分配的目标可用资源量的和值是否能够满足所述目标任务的资源需求量;若能够满足所述目标任务的资源需求量,则基于本次已遍历到的所有物理机的剩余资源量,为所述目标任务分配新的待使用集群资源;若不能够满足所述目标任务的资源需求量,则继续遍历下一台物理机,直至本次已遍历到的所有物理机的剩余资源量与前次为所述目标任务所累积分配的目标可用资源量的和值能够满足所述目标任务的资源需求量,或者,直至遍历完所述集群中的各台物理机。在一些实施例中,所述预设累积截止条件包括以下条件中的任意一种或多种:当前累积时间达到预设时间;所述集群资源的剩余量小于预设阈值;所述资源分配触发请求的请求次数达到预设次数。第二方面,本公开实施例还提供了一种资源调度装置,所述装置包括:接收模块,用于接收针对目标任务的资源分配触发请求,所述资源分配触发请求中携带有所述目标任务的资源需求量;确定模块,用于接收资源调度系统中多个资源节点的可用资源量;第一判断模块,用于判断所述多个资源节点所述可用资源量的总和是否小于所述资源需求量;第一响应模块,用于响应于小于所述资源需求量的第一判断结果,基于所述可用资源量的总和更新所述目标任务的资源积累列表;所述资源积累列表用于记录为所述目标任务所累积分配的目标可用资源量在所述多个资源节点上的分布信息;第二响应模块,用于响应于大于或者等于所述资源需求量的第二判断结果,则从所述多个资源节点所述可用资源量的总和中选取与所述目标任务的资源需求量匹配的目标可用资源量,并将该目标可用资源量所指示目标资源节点上的集群资源分配给所述目标任务。在一种实施方式中,所述装置还包括:第二判断模块,用于在基于所述可用资源量的总和更新所述目标任务的资源积累列表之后,判断在达到预设累积截止条件之前,为所述目标任务所累积分配的目标可用资源量是否达到所述目标任务的资源需求量;若达到所述目标任务的资源需求量,则将所述目标可用资源量所指示的集群资源分配给所述目标任务;若未达到所述目标任务的资源需求量,则生成资源分配失败信息。第三方面,本公开实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面及其各种实施方式任一所述的资源调度方法的步骤。第四方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面及其各种实施方式任一所述的资源调度方法的步骤。采用上述资源调度方案,在接收到针对目标任务的资源分配触发请求之后,可以首先判断所述资源调度系统中多个资源节点所述可用资源量的总和是否小于所述资源需求量,这样,响应于小于所述资源需求量的第一判断结果,可以基于所述可用资源量的总和更新所述目标任务的资源积累列表;所述资源积累列表用于记录为所述目标任务所累积分配的目标可用资源量在所述多个资源节点上的分布信息,响应于大于或者等于所述资源本文档来自技高网...

【技术保护点】
1.一种资源调度方法,其特征在于,所述方法包括:/n接收针对目标任务的资源分配请求,所述资源分配请求中携带有所述目标任务的资源需求量;/n接收资源调度系统中多个资源节点的可用资源量;/n判断所述多个资源节点所述可用资源量的总和是否小于所述资源需求量;/n响应于小于所述资源需求量的第一判断结果,基于所述可用资源量的总和更新所述目标任务的资源积累列表;所述资源积累列表用于记录为所述目标任务所累积分配的目标可用资源量在所述多个资源节点上的分布信息;/n响应于大于或者等于所述资源需求量的第二判断结果,则从所述多个资源节点所述可用资源量的总和中选取与所述目标任务的资源需求量匹配的目标可用资源量,并将该目标可用资源量所指示目标资源节点上的集群资源分配给所述目标任务。/n

【技术特征摘要】
1.一种资源调度方法,其特征在于,所述方法包括:
接收针对目标任务的资源分配请求,所述资源分配请求中携带有所述目标任务的资源需求量;
接收资源调度系统中多个资源节点的可用资源量;
判断所述多个资源节点所述可用资源量的总和是否小于所述资源需求量;
响应于小于所述资源需求量的第一判断结果,基于所述可用资源量的总和更新所述目标任务的资源积累列表;所述资源积累列表用于记录为所述目标任务所累积分配的目标可用资源量在所述多个资源节点上的分布信息;
响应于大于或者等于所述资源需求量的第二判断结果,则从所述多个资源节点所述可用资源量的总和中选取与所述目标任务的资源需求量匹配的目标可用资源量,并将该目标可用资源量所指示目标资源节点上的集群资源分配给所述目标任务。


2.根据权利要求1所述的方法,其特征在于,在基于所述可用资源量的总和更新所述目标任务的资源积累列表之后,还包括:
判断在达到预设累积截止条件之前,为所述目标任务所累积分配的目标可用资源量是否达到所述目标任务的资源需求量;
若达到所述目标任务的资源需求量,则将所述目标可用资源量所指示的集群资源分配给所述目标任务;
若未达到所述目标任务的资源需求量,则生成资源分配失败信息。


3.根据权利要求2所述的方法,其特征在于,在基于所述可用资源量的总和更新所述目标任务的资源积累列表之后,还包括:
查询所述资源调度系统中其他任务的资源积累列表;
若所述其他任务的资源积累列表中为所述其他任务所累积分配的其他可用资源量、以及为所述目标任务所累积分配的目标可用资源量的和值大与或等于所述目标任务的资源需求量,则从所述其他可用资源量中选取与所述目标任务的资源需求量匹配的其他可用资源量,并将该其他可用资源量以及所述目标可用资源量所指示的集群资源分配给所述目标任务;并更新所述其他任务的资源积累列表。


4.根据权利要求2所述的方法,其特征在于,按照如下步骤得到为所述目标任务所累积分配的目标可用资源量:
在接收到本次针对目标任务的资源分配触发请求后,获取在前次为所述目标任务所累积分配的目标可用资源量;
若在前次为所述目标任务所累积分配的目标可用资源量未达到所述目标任务的资源需求量,则确定在本次资源分配触发请求下,是否能够为所述目标任务分配新的待使用集群资源;
若能够分配新的待使用集群资源,则基于分配的所述新的待使用集群资源对所述目标任务进行本次的资源累积分配,确定为所述目标任务所累积分配的目标可用资源量。


5.根据权利要求4所述的方法,其特征在于,所述确定在本次资源分配触发请求下,是否能够为所述目标任务分配新的待使用集群资源,包括:
在本次资源分配触发请求下,逐个遍历集群中的各台物理机,并在遍历到每一台物理...

【专利技术属性】
技术研发人员:李亚坤钱瀚辛朝晖张光辉张帅师锐
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

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

1