本发明涉及虚拟化集群,特别涉及一种集群中节点调度方法、装置、存储介质及终端。
背景技术:
1、虚拟化,指计算元件在虚拟的基础上而不是真实的基础上运行,把有限的固定的资源根据不同需求进行重新规划以达到最大利用率。常见的支持该技术的平台如:vmware、hypervisor、kvm等。虚拟化集群,指在多个主机的大型集群环境中,部署运行多个虚拟机的环境,一个主机上至少运行一个虚拟机。一个集群一般由多个数据节点(datanode)组成,每个数据节点即一个虚拟机。
2、随着大数据的时代来临和开源平台hadoop的流行,越来越多的系统使用hadoop来存储和分析企业的海量数据。在此环境下,为了更有效的利用现有主机的资源,发挥计算机集群的威力,hadoop平台通常会部署到集群式的虚拟化平台中。
3、调度方法是集群式的虚拟化平台中的核心功能模块,调度算法的好坏直接影响到集群系统的资源使用效率。特别是随着大规模模型训练的普遍化,对于资源的使用越来越多,对于调度系统的调度策略提出了更高的要求。灵活的调度策略能够使得提交的任务顺序分配到对应的资源,并进行任务执行。
4、当前最流行的调度中间件是kubernetes,它提供了一系列的调度算法来调度pod,进行作业调度,华为的volcano是一个扩展的调度算法,在kubernetes的调度算法基础上增加了一些新的调度策略。这些调度策略基本了满足实际使用中的基本需求,但是随着集群系统的深入使用,特别是要满足不同任务功能,不同的目的的作业使用,经常会出现一些任务长时间处于等待状态,无法有效调度的问题。
技术实现思路
1、本技术实施例提供了一种集群中节点调度方法、装置、存储介质及终端。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
2、第一方面,本技术实施例提供了一种集群中节点调度方法,方法包括:
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、获取当前作业任务的实际运行结果,实际运行结果包括当前作业任务的id、当前作业任务的用于调度kubenetes算法的pod id、当前作业任务的运行结果、当前作业任务的运行时间;
31、根据当前作业任务的用于调度kubenetes算法的pod id,获取任务运行所在的节点id;
32、根据任务运行所在的目标节点的节点参数,节点参数包括该节点总运行任务作业数、该节点总运行成功作业数、该节点任务作业总运行时间;
33、将该节点总运行任务作业数自动加一,得到该节点目标总运行任务作业数;
34、在当前作业任务的运行结果为用于表征运行成功的预设标识符时,将该节点总运行成功作业数自动加一,得到该节点目标总运行成功作业数;
35、将当前作业任务的运行时间累加至该节点任务作业总运行时间上,得到该节点目标任务作业总运行时间;
36、将当前作业任务的id、任务运行所在的节点id、该节点目标总运行任务作业数、该节点目标总运行成功作业数以及该节点目标任务作业总运行时间刷新到存储空间中保存,得到该节点的历史作业任务统计信息。
37、第二方面,本技术实施例提供了一种集群中节点调度装置,装置包括:
38、候选节点筛选模块,用于在接收到待处理作业任务的调度指令时,在虚拟化集群中筛选出符合条件的多个候选节点;
39、作业任务统计信息获取模块,用于调用预先构建的作业统计反馈处理函数,并通过作业统计反馈处理函数获取每个候选节点的历史作业任务统计信息;历史作业任务统计信息是根据预先构建的作业统计函数对节点运行结束时的实际运行结果进行获取,并基于获取的实际运行结果更新该节点上的历史统计信息生成的;
40、最优节点调度确定模块,用于根据每个候选节点的历史作业任务统计信息,在多个候选节点中确定待处理作业任务的最优节点,并进行最优节点的调度。
41、第三方面,本技术实施例提供一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行上述的方法步骤。
42、第四方面,本技术实施例提供一种终端,可包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述的方法步骤。
43、本技术实施例提供的技术方案可以包括以下有益效果:
44、在本技术实施例中,集群中节点调度装置首先在接收到待处理作业任务的调度指令时,在虚拟化集群中筛选出符合条件的多个候选节点,然后调用预先构建的作业统计反馈处理函数,并通过作业统计反馈处理函数获取每个候选节点的历史作业任务统计信息;历史作业任务统计信息是根据预先构建的作业统计函数对节点运行结束时的实际运行结果进行获取,并基于获取的实际运行结果更新该节点上的历史统计信息生成的;最后根据每个候选节点的历史作业任务统计信息,在多个候选节点中确定待处理作业任务的最优节点,并进行最优节点的调度。由于本技术在调度管理选择最终节点时增加历史作业任务统计信息作为反馈,该信息是将已有资源信息和历史统计信息相结合来提供更精准的作业调度,从而优化整个集群系统的调度管理,提高了资源节点的利用率。
45、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。