任务调度方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:24010230 阅读:38 留言:0更新日期:2020-05-02 01:29
本发明专利技术公开了一种任务调度方法,该方法包括:当集群中的分布式计算平台MapRduce接收到大数据任务时,启用第一预设模式以允许集群中的高性能节点拉取低性能节点的task运行;当监测到集群中存在完成了Shuffle阶段的task时,获取集群中完成了Map阶段的task数量和完成了Shuffle阶段的task数量;检测完成了Map阶段的task数量和完成了Shuffle阶段的task数量之间的相对变化情况,根据相对变化情况确定大数据任务的关键路径;当确定Shuffle阶段为大数据任务的关键路径时,将第一预设模式切换为第二预设模式以禁止集群中的高性能节点拉取低性能节点的task运行。本发明专利技术还公开了一种任务调度装置、设备和一种计算机可读存储介质。本发明专利技术能够提升基于MapReduce运行大数据任务的效率。

Task scheduling method, device, equipment and computer readable storage medium

【技术实现步骤摘要】
任务调度方法、装置、设备及计算机可读存储介质
本专利技术涉及大数据
,尤其涉及任务调度方法、装置、设备及计算机可读存储介质。
技术介绍
MapReduce是一种分布式模型,用于大规模数据集的并行运算,其主要包括三个阶段:Map阶段、Shuffle阶段和Reduce阶段。当一个大数据任务被提交到集群后,在Map阶段它会被拆分成多个小的task(最小任务单元)进行并行计算,该阶段主要消耗的资源是cpu和内存;在Shuffle阶段,Map阶段生成的数据会通过网络传输到集群中的其他节点,这个过程中主要消耗的是网络资源。当前的MapReduce计算框架在调度task时默认高性能节点抢取低性能节点的task,这种盲目的调度方式可能导致拖慢任务的运行时间,降低资源的利用率,比如在Map阶段,当高性能节点从低性能节点拉取task来执行时,会导致集群中的网络负载激增,而由于Shuffle阶段主要消耗的是网络资源,因此网络负载的激增会明显降低Shuffle的执行效率,从而拖慢了整个大数据任务的运行时间。
技术实现思路
本专利技术的主要目的在于提出一种任务调度方法、装置、设备及计算机可读存储介质,旨在提升基于MapReduce运行大数据任务的效率。为实现上述目的,本专利技术提供一种任务调度方法,所述任务调度方法包括如下步骤:当集群中的分布式计算平台MapRduce接收到大数据任务时,启用第一预设模式以允许集群中的高性能节点拉取低性能节点的task运行,其中task为所述大数据任务的最小任务单元;当监测到集群中存在完成了Shuffle阶段的task时,获取集群中完成了Map阶段的task数量和完成了Shuffle阶段的task数量;检测完成了Map阶段的task数量和完成了Shuffle阶段的task数量之间的相对变化情况,根据所述相对变化情况确定所述大数据任务的关键路径;当确定Shuffle阶段为所述大数据任务的关键路径时,将所述第一预设模式切换为第二预设模式以禁止集群中的高性能节点拉取低性能节点的task运行。优选地,所述检测完成了Map阶段的task数量和完成了Shuffle阶段的task数量之间的相对变化情况,根据所述相对变化情况确定所述大数据任务的关键路径的步骤包括:计算完成了Map阶段的task数量和完成了Shuffle阶段的task数量的差值;获取所述差值随时间推移的变化率;当所述差值随时间推移的变化率为正值时,确定Shuffle阶段为所述大数据任务的关键路径。优选地,所述获取所述差值随时间推移的变化率的步骤之后,还包括:当所述差值随时间推移的变化率为负值时,确定Map阶段为所述大数据任务的关键路径,并控制MapRduce保持所述第一预设模式运行。优选地,所述检测完成了Map阶段的task数量和完成了Shuffle阶段的task数量之间的相对变化情况,根据所述相对变化情况确定所述大数据任务的关键路径的步骤包括:在预设时长内,分别计算完成了Map阶段的task数量的增长速率和完成了Shuffle阶段的task数量的增长速率,并将计算结果进行比较;若完成了Map阶段的task数量的增长速率大于完成了Shuffle阶段的task数量的增长速率,则确定Shuffle阶段为所述大数据任务的关键路径;若完成了Map阶段的task数量的增长速率小于完成了Shuffle阶段的task数量的增长速率,则确定Map阶段为所述大数据任务的关键路径。优选地,所述任务调度方法还包括:当所述大数据任务以所述第一预设模式运行时,获取集群中的高性能节点和低性能节点基于预设同一计算量的执行时间;根据所述执行时间确定集群中的高性能节点需从低性能节点拉取的task数量;根据确定的高性能节点需从低性能节点拉取的task数量控制高性能节点从低性能节点拉取task运行。优选地,所述根据确定的高性能节点需从低性能节点拉取的task数量控制高性能节点从低性能节点拉取task运行的步骤之后,还包括:当高性能节点从低性能节点拉取task运行时,控制高性能节点的本地task与高性能节点拉取的task交叉执行。优选地,所述任务调度方法还包括:当MapRduce进入Reduce阶段时,获取Shuffle阶段生成的键值对数据,并获取集群中各节点的计算能力值,其中对应每个节点的计算能力值预设有一计算能力区间,且不同节点对应的计算能力区间不相重叠;将获取到的集群中各节点的计算能力值进行求和,得到计算能力总和值;将所述键值对数据中的key和所述计算能力总和值进行取余运算,并确定所述取余运算的运算结果所处的预设计算能力区间;将所述key对应的value数据调度至确定的计算能力区间所对应的节点上。此外,为实现上述目的,本专利技术还提供一种任务调度装置,所述任务调度装置包括:启用模块,用于当集群中的分布式计算平台MapRduce接收到大数据任务时,启用第一预设模式以允许集群中的高性能节点拉取低性能节点的task运行,其中task为所述大数据任务的最小任务单元;获取模块,用于当监测到集群中存在完成了Shuffle阶段的task时,获取集群中完成了Map阶段的task数量和完成了Shuffle阶段的task数量;确定模块,用于检测完成了Map阶段的task数量和完成了Shuffle阶段的task数量之间的相对变化情况,根据所述相对变化情况确定所述大数据任务的关键路径;切换模块,用于当确定Shuffle阶段为所述大数据任务的关键路径时,将所述第一预设模式切换为第二预设模式以禁止集群中的高性能节点拉取低性能节点的task运行。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有任务调度程序,所述任务调度程序被处理器执行时实现如上所述的任务调度方法的步骤。本专利技术提出的任务调度方法,当集群中的分布式计算平台MapRduce接收到大数据任务时,首先启用第一预设模式以允许集群中的高性能节点拉取低性能节点的task运行,如此可以缩短Map阶段的计算耗时;当监测到集群中存在完成了Shuffle阶段的task时,获取集群中完成了Map阶段的task数量和完成了Shuffle阶段的task数量,并检测两者之间的相对变化情况,进而确定大数据任务的关键路径,当确定Shuffle阶段为大数据任务的关键路径时,此时网络资源可能成为瓶颈,此时将第一预设模式切换为第二预设模式以禁止集群中的高性能节点拉取低性能节点的task运行,如此可以减轻集群中网络压力,从而提升Shuffle阶段的执行效率,减少整个大数据任务的耗时,从而本专利技术能够提升基于MapReduce运行大数据任务的效率。附图说明图1是本专利技术实施例方案涉及的硬件运行环境的设备结构示意图;图2为本专利技术任务调度方法第一实施例的流程示意图;图3为图2中步骤S30的细化步骤示意图。...

【技术保护点】
1.一种任务调度方法,其特征在于,所述任务调度方法包括如下步骤:/n当集群中的分布式计算平台MapRduce接收到大数据任务时,启用第一预设模式以允许集群中的高性能节点拉取低性能节点的task运行,其中task为所述大数据任务的最小任务单元;/n当监测到集群中存在完成了Shuffle阶段的task时,获取集群中完成了Map阶段的task数量和完成了Shuffle阶段的task数量;/n检测完成了Map阶段的task数量和完成了Shuffle阶段的task数量之间的相对变化情况,根据所述相对变化情况确定所述大数据任务的关键路径;/n当确定Shuffle阶段为所述大数据任务的关键路径时,将所述第一预设模式切换为第二预设模式以禁止集群中的高性能节点拉取低性能节点的task运行。/n

【技术特征摘要】
1.一种任务调度方法,其特征在于,所述任务调度方法包括如下步骤:
当集群中的分布式计算平台MapRduce接收到大数据任务时,启用第一预设模式以允许集群中的高性能节点拉取低性能节点的task运行,其中task为所述大数据任务的最小任务单元;
当监测到集群中存在完成了Shuffle阶段的task时,获取集群中完成了Map阶段的task数量和完成了Shuffle阶段的task数量;
检测完成了Map阶段的task数量和完成了Shuffle阶段的task数量之间的相对变化情况,根据所述相对变化情况确定所述大数据任务的关键路径;
当确定Shuffle阶段为所述大数据任务的关键路径时,将所述第一预设模式切换为第二预设模式以禁止集群中的高性能节点拉取低性能节点的task运行。


2.如权利要求1所述的任务调度方法,其特征在于,所述检测完成了Map阶段的task数量和完成了Shuffle阶段的task数量之间的相对变化情况,根据所述相对变化情况确定所述大数据任务的关键路径的步骤包括:
计算完成了Map阶段的task数量和完成了Shuffle阶段的task数量的差值;
获取所述差值随时间推移的变化率;
当所述差值随时间推移的变化率为正值时,确定Shuffle阶段为所述大数据任务的关键路径。


3.如权利要求2所述的任务调度方法,其特征在于,所述获取所述差值随时间推移的变化率的步骤之后,还包括:
当所述差值随时间推移的变化率为负值时,确定Map阶段为所述大数据任务的关键路径,并控制MapRduce保持所述第一预设模式运行。


4.如权利要求1所述的任务调度方法,其特征在于,所述检测完成了Map阶段的task数量和完成了Shuffle阶段的task数量之间的相对变化情况,根据所述相对变化情况确定所述大数据任务的关键路径的步骤包括:
在预设时长内,分别计算完成了Map阶段的task数量的增长速率和完成了Shuffle阶段的task数量的增长速率,并将计算结果进行比较;
若完成了Map阶段的task数量的增长速率大于完成了Shuffle阶段的task数量的增长速率,则确定Shuffle阶段为所述大数据任务的关键路径;
若完成了Map阶段的task数量的增长速率小于完成了Shuffle阶段的task数量的增长速率,则确定Map阶段为所述大数据任务的关键路径。


5.如权利要求1至3中任一项所述的任务调度方法,其特征在于,所述任务调度方法还包括:
当所述大数据任务以所述第一预设模式运行时,获取集群中的高性能节点和低性能节点基于预设...

【专利技术属性】
技术研发人员:陈列周旭古亮
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:广东;44

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

1