本发明涉及计算机集群管理领域和作业生命周期管理领域,尤其涉及一种面向异构联邦的多类别作业分发管理方法和系统。
背景技术:
1、随着数字化、智能化深入各行各业、云计算作为新一代信息技术的重要驱动力在国民经济中发挥愈来愈重要的作用。在云计算领域中,大规模计算集群已成为处理大数据和高性能计算任务的核心基础设施。这些集群通常由数百甚至数千台服务器组成,用于运行各种任务,如批处理(hadoop mapreduce、apache spark等)和流式计算作业(apacheflink等)。这些计算任务的分发和管理对于确保计算资源的高效利用至关重要,因此产生了多集群作业分发和管理的需求。
2、然而传统的计算管理系统通常只能管理单个集群,这限制了大规模计算任务的规模和效率。随着数据量和计算需求的不断增长,单个集群的能力可能无法满足这些需求,因此亟需提出跨多个集群进行作业分发和管理的解决方案。
技术实现思路
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、作业状态同步模块,用于监听计算集群中计算作业实例的状态变更事件,从而更新自定义的作业资源的当前状态;同时调协当前计算作业实例的运行状态,使得当前计算作业实例的运行状态向预先定义的作业期望状态收敛。
31、第三方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述的面向异构联邦的多类别作业分发管理方法。
32、第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的面向异构联邦的多类别作业分发管理方法。
33、与现有技术相比,本发明的有益效果是:
34、本发明获取自定义作业资源,响应于自定义的作业资源的创建事件和/或更新事件,根据作业类型将自定义的作业资源渲染成对应的计算作业实例,再按照调度结果进行分发和作业生命周期维护。本发明屏蔽了流处理、批处理或科学计算作业的差异性,可以针对多类型作业进行分发管理,而不仅是特定某一种作业类型,根据调度结果、作业渲染、作业分发,状态同步,实现了多集群作业分发以及作业生命周期的统一管理。同时,本发明将根据作业类型将自定义的作业资源渲染成对应的计算作业实例根据调度结果,将渲染后的计算作业实例分发至对应的计算集群,在容错性、跨集群作业分发、资源利用率优化等方面均产生有效帮助。
1.一种面向异构联邦的多类别作业分发管理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种面向异构联邦的多类别作业分发管理方法,其特征在于,所述自定义的作业资源包括:计算作业所需的软件资源信息、硬件资源信息、调度参数、作业类型、依赖配置、启动参数、作业状态。
3.根据权利要求1所述的一种面向异构联邦的多类别作业分发管理方法,其特征在于,响应于自定义的作业资源的创建事件,当自定义的作业资源拥有调度结果后,根据作业类型将自定义的作业资源渲染成对应的计算作业实例,将渲染后的计算作业实例分发至对应的计算集群;当自定义的作业资源没有调度结果时,则不进行分发。
4.根据权利要求1所述的一种面向异构联邦的多类别作业分发管理方法,其特征在于,响应于自定义的作业资源的删除事件,删除自定义的作业资源和对应部署于计算集群中的作业实例及依赖配置。
5.根据权利要求1所述的一种面向异构联邦的多类别作业分发管理方法,其特征在于,所述更新事件包括:用户更改作业副本数事件、用户更新作业依赖配置事件;
6.根据权利要求1所述的一种面向异构联邦的多类别作业分发管理方法,其特征在于,根据作业类型将自定义的作业资源渲染成对应的计算作业实例包括:
7.根据权利要求1所述的一种面向异构联邦的多类别作业分发管理方法,其特征在于,监听计算集群中计算作业实例的状态变更事件包括:
8.一种面向异构联邦的多类别作业分发管理系统,其特征在于,用于实现上述权利要求1-7任一项所述的面向异构联邦的多类别作业分发管理方法,所述系统包括:控制集群和计算集群,所述控制集群与所述计算集群耦接;
9.一种电子设备,包括存储器和处理器,其特征在于,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述权利要求1-7任一项所述的面向异构联邦的多类别作业分发管理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的面向异构联邦的多类别作业分发管理方法。