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

技术编号:30143417 阅读:16 留言:0更新日期:2021-09-23 15:12
本公开实施例涉及一种资源调度方法、装置、电子设备及存储介质,该方法包括:作业的目标任务运行时,集群的资源管理器根据作业的约束条件和已存储的至少一个节点的监控信息,查找并记录运行目标任务的各节点中不符合约束条件的目标节点;资源管理器根据约束条件以及目标节点的监控信息,确定目标节点上需进行调度的目标容器,将目标容器的标识发送至作业对应的应用管理器;应用管理器基于目标容器的标识和预设调度策略对目标容器进行调度处理,以使运行目标任务的各节点符合约束条件。本公开方案能够保证在作业的任务运行过程中,对节点的资源进行持续调度处理以使运行目标任务的各节点基本一直符合约束条件,从而保证作业能够持续稳定地运行。够持续稳定地运行。够持续稳定地运行。

【技术实现步骤摘要】
资源调度方法、装置、电子设备及存储介质


[0001]本公开涉及计算机
,尤其涉及一种资源调度方法、资源调度装置,以及实现资源调度方法的电子设备及计算机可读存储介质。

技术介绍

[0002]YARN(Yet Another Resource Negotiator,另一种资源协调器)是一种通用的资源管理系统,可以为MapReduce(一种编程模型)、Spark(一种为大规模数据处理而设计的快速通用的计算引擎)等多种计算框架提供资源管理和分配。YARN通常由资源管理器RM(Resource Manager)和多个节点的节点管理器NM(Node Manager)组成,RM为用户提交的作业创建应用管理器AM,基于AM的资源请求对各个节点上的资源进行管理和调度。Container(容器)是YARN中的资源抽象,封装了一个节点上的多维度资源,如内存、CPU(Central Processing Unit,中央处理单元)、磁盘、网络等。AM向RM发送资源请求来申请作业的任务运行所需的资源,RM响应资源请求选择合适的节点分配资源,将资源分配结果返回AM,AM再与相应节点的NM通信以启动相应的容器来执行相应的作业任务。
[0003]在申请资源的时候,用户往往会根据作业特性,个性化地设置资源请求的约束条件,例如,某一作业的任务运行时要求分配的资源所在节点的利用率不超过50%,基于这些约束条件构造资源请求并向RM提交相应的资源请求。
[0004]RM在进行资源分配时,分配给作业的任务的资源一般是可以满足约束条件的,然而,在作业的任务运行过程中,由于作业的任务运行和集群状态的高动态性和不可预估性,很容易出现分配的资源所在节点不再满足约束条件的情况,导致这些作业的任务运行受到严重影响,轻者产生较大延迟,重者导致作业运行失败,作业难以持续稳定地运行。

技术实现思路

[0005]为了至少部分或全部地解决上述技术问题,本公开实施例提供一种资源调度方法、资源调度装置、实现资源调度方法的电子设备和计算机可读存储介质。
[0006]第一方面,本公开提供了一种资源调度方法,所述方法包括:
[0007]作业的目标任务运行时,集群的资源管理器根据所述作业的约束条件和已存储的至少一个节点的监控信息,查找并记录运行所述目标任务的各节点中不符合所述约束条件的目标节点;
[0008]所述资源管理器根据所述约束条件以及所述目标节点的监控信息,确定所述目标节点上需进行调度的目标容器,并将所述目标容器的标识发送至所述作业对应的应用管理器;
[0009]所述应用管理器基于所述目标容器的标识以及预设调度策略,对所述目标容器进行调度处理,以使运行所述目标任务的各节点符合所述约束条件。
[0010]可选的,在公开的一些实施例中,所述方法还包括:
[0011]所述集群的各节点管理器对各自所在节点中运行的容器进行实时监控,并按照预
设周期将各节点的所述监控信息发送至所述资源管理器;
[0012]所述资源管理器接收各节点的所述监控信息并存储。
[0013]可选的,在公开的一些实施例中,所述约束条件包括节点负载约束条件,所述监控信息包括容器的负载指标参数;
[0014]所述资源管理器根据所述约束条件以及所述目标节点的监控信息,确定所述目标节点上需进行调度的目标容器的步骤,包括:
[0015]在所述约束条件是节点负载约束条件时,获取所述目标节点的监控信息中记录的各容器的负载指标参数;
[0016]基于各所述容器的负载指标参数由大到小的顺序,确定目标容器,所述目标容器是被结束后使所述目标节点符合所述节点负载约束条件的一个或多个容器。
[0017]可选的,在公开的一些实施例中,所述应用管理器基于所述目标容器的标识以及预设调度策略,对所述目标容器进行调度处理的步骤,包括:
[0018]向所述目标节点的节点管理器发送容器结束指令,所述容器结束指令携带所述目标容器的标识;
[0019]所述目标节点的节点管理器响应所述容器结束指令,基于所述目标容器的标识查找到对应的目标容器,并将查找到的所述目标容器结束掉。
[0020]可选的,在公开的一些实施例中,所述负载指标参数至少包括容器中的目标进程的数量,所述目标进程包括处于运行状态的进程和/或处于不可中断状态的进程。
[0021]可选的,在公开的一些实施例中,所述约束条件包括节点无硬件故障约束条件,所述监控信息包括节点上的容器使用所述硬件的第一指示信息或者未使用所述硬件的第二指示信息;
[0022]所述资源管理器根据所述约束条件以及所述目标节点的监控信息,确定所述目标节点上需进行调度的目标容器的步骤,包括:
[0023]在所述目标节点存在硬件故障而不符合所述节点无硬件故障约束条件时,基于所述目标节点的监控信息确定具有所述第一指示信息的容器为目标容器。
[0024]可选的,在公开的一些实施例中,所述应用管理器基于所述目标容器的标识以及预设调度策略,对所述目标容器进行调度处理,以使运行所述目标任务的各节点符合所述约束条件的步骤,包括:
[0025]所述应用管理器基于所述目标容器的标识,向所述资源管理器发送资源申请请求;
[0026]所述资源管理器响应所述资源申请请求,在所述目标节点以外的节点上分配新的目标容器,以使运行所述目标任务的各节点符合所述约束条件。
[0027]第二方面,本公开实施例提供一种资源调度装置,所述装置包括:
[0028]节点确定模块,用于作业的目标任务运行时,使集群的资源管理器根据所述作业的约束条件和已存储的至少一个节点的监控信息,查找并记录运行所述目标任务的各节点中不符合所述约束条件的目标节点;
[0029]容器确定模块,用于使所述资源管理器根据所述约束条件以及所述目标节点的监控信息,确定所述目标节点上需进行调度的目标容器,并将所述目标容器的标识发送至所述作业对应的应用管理器;
[0030]容器调度模块,用于使所述应用管理器基于所述目标容器的标识以及预设调度策略,对所述目标容器进行调度处理,以使运行所述目标任务的各节点符合所述约束条件。
[0031]可选的,在公开的一些实施例中,所述装置还包括:
[0032]信息收集模块,用于使所述集群的各节点管理器对各自所在节点中运行的容器进行实时监控,并按照预设周期将各节点的所述监控信息发送至所述资源管理器;
[0033]信息存储模块,用于使所述资源管理器接收各节点的所述监控信息并存储。
[0034]可选的,在公开的一些实施例中,所述约束条件包括节点负载约束条件,所述监控信息包括容器的负载指标参数;
[0035]所述容器确定模块,包括:
[0036]参数获取模块,用于在所述约束条件是节点负载约束条件时,获取所述目标节点的监控信息中记录的各容器的负载指标参数;
[0037]选择确定模块,用于基于各所述容器的负载指标参数由大到小的顺序,确定目标容本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源调度方法,其特征在于,所述方法包括:作业的目标任务运行时,集群的资源管理器根据所述作业的约束条件和已存储的至少一个节点的监控信息,查找并记录运行所述目标任务的各节点中不符合所述约束条件的目标节点;所述资源管理器根据所述约束条件以及所述目标节点的监控信息,确定所述目标节点上需进行调度的目标容器,并将所述目标容器的标识发送至所述作业对应的应用管理器;所述应用管理器基于所述目标容器的标识以及预设调度策略,对所述目标容器进行调度处理,以使运行所述目标任务的各节点符合所述约束条件。2.根据权利要求1所述的资源调度方法,其特征在于,所述方法还包括:所述集群的各节点管理器对各自所在节点中运行的容器进行实时监控,并按照预设周期将各节点的所述监控信息发送至所述资源管理器;所述资源管理器接收各节点的所述监控信息并存储。3.根据权利要求1所述的资源调度方法,其特征在于,所述约束条件包括节点负载约束条件,所述监控信息包括容器的负载指标参数;所述资源管理器根据所述约束条件以及所述目标节点的监控信息,确定所述目标节点上需进行调度的目标容器的步骤,包括:在所述约束条件是节点负载约束条件时,获取所述目标节点的监控信息中记录的各容器的负载指标参数;基于各所述容器的负载指标参数由大到小的顺序,确定目标容器,所述目标容器是被结束后使所述目标节点符合所述节点负载约束条件的一个或多个容器。4.根据权利要求3所述的资源调度方法,其特征在于,所述应用管理器基于所述目标容器的标识以及预设调度策略,对所述目标容器进行调度处理的步骤,包括:向所述目标节点的节点管理器发送容器结束指令,所述容器结束指令携带所述目标容器的标识;所述目标节点的节点管理器响应所述容器结束指令,基于所述目标容器的标识查找到对应的目标容器,并将查找到的所述目标容器结束掉。5.根据权利要求3或4所述的资源调度方法,其特征在于,所述负载指标参数至少包括容器中的目标进程的数量,所述目标进程包括处于运行状态的进程和/或处于不可中断状态的进程。6.根据权利要求1所述的资源调度方法,其特征在于,所述约束条件包括节点无硬件故障约束条件,所述监控信息包括节点上的容器使用所述硬件的第一指示信息或者未使用所述硬件的第二指示信息;所述资源管理器根据所述约束条件以及所述目标节点的监控信息,确定所述目标节点上需进行调度的目标容器的步骤,包括:在所述目标节点存在硬件故障而不符合所述节点无硬件故障约束条件时,基于所述目标节点的监控信息确定具有所述第一指示信息的容器为目标容器。7.根据权利要求6所述的资源调度方法,其特征在于,所述应用管理器基于所述目标容器的标识以及预设调度策略,对所述目标容器进行调度处理,以使运行所述目标任务的各节点符合所述约束条件的步骤,包括:
所述应用管理器基于所述目标容器的标识,向所述资源管理器发送资源申请请求;所述资源管理器响应所述资源申请请求,在所述目标节点以外的节点上分配新的目标容器,以使运行所述目标任务的各节点符合所述约束条件。8.一种资源调度装置,其特征在于,所述装置包括:节点确定模块,用于作业的目标任务运行时,使集群的资源管理器根据所述作业的约束条件和已...

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

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

1