任务的分配方法、装置及电子设备制造方法及图纸

技术编号:38902257 阅读:11 留言:0更新日期:2023-09-22 14:20
本申请提供一种任务的分配方法、装置及电子设备。通过获取待运行Spark任务的分配请求,根据该请求,基于预设的分配算法确定运行待运行Spark任务的候选节点。获取每个候选节点当前运行的Spark任务的参数信息,对于任意一个候选节点,基于预设的任务执行时间预测算法及候选节点当前运行的Spark任务的参数信息,计算候选节点当前运行的Spark任务的任务执行预测时间,进而根据候选节点中每个候选节点当前运行的Spark任务的任务执行预测时间和/或当前运行的Spark任务占用的资源信息,从候选节点中确定运行待运行Spark任务的目标节点。本申请使得不同节点运行任务的时间更加均衡,提高了节点资源的利用率。高了节点资源的利用率。高了节点资源的利用率。

【技术实现步骤摘要】
任务的分配方法、装置及电子设备


[0001]本申请涉及大数据处理
,尤其涉及一种任务的分配方法、装置及电子设备。

技术介绍

[0002]随着大数据技术的飞速发展,对数据进行处理和分析成为已成为必不可少的步骤,在数据进行处理和分析的过程中,大量的处理及分析任务会分配到不同的节点上,以提高任务的处理及分析效率。
[0003]现有技术中,在对任务进行分配时,通常是通过轮询分配算法、就近分配算法或随机分配算法中的一种或多种,从多个节点中确定出目标节点,然后将任务对应分配到目标节点中,由目标节点运行该任务。
[0004]但是现有技术进行任务对应分配的方式容易导致不同节点运行任务的时间不够均衡,降低了对节点资源的利用率。

技术实现思路

[0005]本申请提供一种任务的分配方法、装置及电子设备,用以解决现有技术进行分配的方式容易导致不同节点运行任务的时间不够均衡,降低了对节点资源的利用率问题。
[0006]第一方面,本申请提供一种任务的分配方法,包括:
[0007]获取待运行Spark任务的分配请求;
[0008]根据所述分配请求,基于预设的分配算法,确定运行所述待运行Spark任务的候选节点;
[0009]获取每个候选节点当前运行的Spark任务的参数信息;
[0010]对于任意一个候选节点,基于预设的任务执行时间预测算法及所述候选节点当前运行的Spark任务的参数信息,计算所述候选节点当前运行的Spark任务的任务执行预测时间;
[0011]根据所述候选节点中每个候选节点当前运行的Spark任务的任务执行预测时间和/或当前运行的Spark任务占用的资源信息,从所述候选节点中确定运行所述待运行Spark任务的目标节点。
[0012]可选的,所述根据所述分配请求,基于预设的分配算法,确定运行所述待运行Spark任务的候选节点,包括:
[0013]根据所述分配请求,基于预设的亲和性或反亲和性分配算法,确定运行所述待运行Spark任务的第一候选节点;
[0014]根据所述第一候选节点中每个候选节点的资源限制信息,从所述第一候选节点中确定运行所述待运行Spark任务的第二候选节点。
[0015]可选的,所述参数信息至少包括:执行器数量、每个执行器的核数量、分区数量、数据倾斜度系数、计算倾斜度系数、任务计算总时间、Shuffle总时间、垃圾回收时间;
[0016]所述对于任意一个候选节点,基于预设的任务执行时间预测算法及所述候选节点当前运行的Spark任务的参数信息,计算所述候选节点当前运行的Spark任务的任务执行预测时间,包括:
[0017]对于任意一个候选节点,根据所述候选节点当前运行的Spark任务的执行器数量及每个执行器的核数量,确定所述当前运行的Spark任务的任务并行度;
[0018]根据所述任务并行度、分区数量、数据倾斜度系数及计算倾斜度系数,确定所述当前运行的Spark任务的任务有效并行度;
[0019]根据所述任务有效并行度、任务计算总时间、Shuffle总时间及垃圾回收总时间,确定所述当前运行的Spark任务的任务执行预测时间。
[0020]可选的,根据所述候选节点中每个候选节点当前运行的Spark任务的任务执行预测时间和当前运行的Spark任务占用的资源信息,从所述候选节点中确定运行所述待运行Spark任务的目标节点,包括:
[0021]根据所述候选节点中每个候选节点当前运行的Spark任务占用的资源信息,确定每个候选节点的剩余资源信息;
[0022]根据所述候选节点中每个候选节点当前运行的Spark任务的任务执行预测时间及当前已运行时间,确定每个候选节点运行完当前运行的Spark任务的结束时间,并根据结束时间的早晚进行优先级排序;
[0023]获取每个候选节点运行完当前运行的Spark任务释放的资源信息;
[0024]将每个候选节点的剩余资源信息与运行完当前运行的Spark任务释放的资源信息进行相加处理,得到每个节点的可用资源信息;
[0025]按照所述优先级排序,将可用资源信息最高的候选节点确定为所述目标节点。
[0026]可选的,根据所述候选节点中每个候选节点当前运行的Spark任务的任务执行预测时间,从所述候选节点中确定运行所述待运行Spark任务的目标节点,包括:
[0027]根据所述候选节点中每个候选节点当前运行的Spark任务的任务执行预测时间及当前已运行时间,确定最早结束当前运行的Spark任务的节点;
[0028]将所述最早结束当前运行的Spark任务的节点确定为所述目标节点。
[0029]可选的,根据所述当前运行的Spark任务占用的资源信息,从所述候选节点中确定运行所述待运行Spark任务的目标节点,包括:
[0030]根据所述候选节点中每个候选节点当前运行的Spark任务占用的资源信息,确定剩余资源信息最多的节点;
[0031]将所述剩余资源信息最多的节点确定为所述目标节点。
[0032]可选的,所述从所述候选节点中确定运行所述待运行Spark任务的目标节点之后,还包括:
[0033]判断所述待运行Spark任务是否发布至所述目标节点;
[0034]若未发布至所述目标节点,重新执行所述根据所述候选节点中每个候选节点当前运行的Spark任务的任务执行预测时间和/或当前运行的Spark任务占用的资源信息,从所述候选节点中确定分配所述待运行Spark任务的目标节点的步骤。
[0035]可选的,还包括:
[0036]若发布至所述目标节点,判断所述目标节点是否成功运行所述待运行Spark任务;
[0037]若未成功运行所述待运行Spark任务,输出运行错误的提示信息;
[0038]若成功运行所述待运行Spark任务,响应于用户的操作,对所述预设的任务执行时间预测算法进行参数修正。
[0039]第二方面,本申请提供一种任务的分配装置,包括:
[0040]获取模块,用于获取待运行Spark任务的分配请求;
[0041]确定模块,用于根据所述分配请求,基于预设的分配算法,确定运行所述待运行Spark任务的候选节点;
[0042]所述获取模块,还用于获取每个候选节点当前运行的Spark任务的参数信息;
[0043]计算模块,用于对于任意一个候选节点,基于预设的任务执行时间预测算法及所述候选节点当前运行的Spark任务的参数信息,计算所述候选节点当前运行的Spark任务的任务执行预测时间;
[0044]处理模块,用于根据所述候选节点中每个候选节点当前运行的Spark任务的任务执行预测时间和/或当前运行的Spark任务占用的资源信息,从所述候选节点中确定运行所述待运行Spark任务的目标节点。
[0045]第三方面,本申请提供一种电子设备,包括:至少一个处理器、存储器;
[0046]所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务的分配方法,其特征在于,包括:获取待运行Spark任务的分配请求;根据所述分配请求,基于预设的分配算法,确定运行所述待运行Spark任务的候选节点;获取每个候选节点当前运行的Spark任务的参数信息;对于任意一个候选节点,基于预设的任务执行时间预测算法及所述候选节点当前运行的Spark任务的参数信息,计算所述候选节点当前运行的Spark任务的任务执行预测时间;根据所述候选节点中每个候选节点当前运行的Spark任务的任务执行预测时间和/或当前运行的Spark任务占用的资源信息,从所述候选节点中确定运行所述待运行Spark任务的目标节点。2.根据权利要求1所述的方法,其特征在于,所述根据所述分配请求,基于预设的分配算法,确定运行所述待运行Spark任务的候选节点,包括:根据所述分配请求,基于预设的亲和性或反亲和性分配算法,确定运行所述待运行Spark任务的第一候选节点;根据所述第一候选节点中每个候选节点的资源限制信息,从所述第一候选节点中确定运行所述待运行Spark任务的第二候选节点。3.根据权利要求2所述的方法,其特征在于,所述参数信息至少包括:执行器数量、每个执行器的核数量、分区数量、数据倾斜度系数、计算倾斜度系数、任务计算总时间、Shuffle总时间、垃圾回收时间;所述对于任意一个候选节点,基于预设的任务执行时间预测算法及所述候选节点当前运行的Spark任务的参数信息,计算所述候选节点当前运行的Spark任务的任务执行预测时间,包括:对于任意一个候选节点,根据所述候选节点当前运行的Spark任务的执行器数量及每个执行器的核数量,确定所述当前运行的Spark任务的任务并行度;根据所述任务并行度、分区数量、数据倾斜度系数及计算倾斜度系数,确定所述当前运行的Spark任务的任务有效并行度;根据所述任务有效并行度、任务计算总时间、Shuffle总时间及垃圾回收总时间,确定所述当前运行的Spark任务的任务执行预测时间。4.根据权利要求3所述的方法,其特征在于,根据所述候选节点中每个候选节点当前运行的Spark任务的任务执行预测时间和当前运行的Spark任务占用的资源信息,从所述候选节点中确定运行所述待运行Spark任务的目标节点,包括:根据所述候选节点中每个候选节点当前运行的Spark任务占用的资源信息,确定每个候选节点的剩余资源信息;根据所述候选节点中每个候选节点当前运行的Spark任务的任务执行预测时间及当前已运行时间,确定每个候选节点运行完当前运行的Spark任务的结束时间,并根据结束时间的早晚进行优先级排序;获取每个候选节点运行完当前运行的Spark任务释放的资源信息;将每个候选节点的剩余资源信息与运行完当前运行的Spark任务释放的资源信息进行相加处理,得到每个节点的可用资源信...

【专利技术属性】
技术研发人员:亓浩
申请(专利权)人:联通数字科技有限公司联通云数据有限公司
类型:发明
国别省市:

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

1