本发明涉及分布式部署,尤其涉及一种资源错峰共享方法、装置、分布式系统及存储介质。
背景技术:
1、yarn集群中运行的任务数量通常会有较大的波动。在yarn集群的批处理任务很多时,yarn集群的计算资源紧张;在yarn集群的批处理任务很少,yarn集群的计算资源会存在大量富余的情况。当yarn集群中运行的任务很少时,大量的计算资源空闲,造成了计算资源的浪费。
2、因此,在yarn集群中运行的任务很少时,如何充分利用空闲的计算资源,成了亟需解决的技术问题。
技术实现思路
1、鉴于以上内容,有必要提供一种资源错峰共享方法、装置、分布式系统及存储介质,能够在yarn集群中运行的任务很少时,解决如何充分利用空闲的计算资源的技术问题。
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、识别单元,用于识别出所述管理空闲时段与所述查询繁忙时段的交集时段;
35、查询单元,用于在所述交集时段中,查询所述资源管理集群中每个管理服务器的运行资源容器;
36、所述识别单元,还用于根据所述数据查询引擎的任务数量及所述运行资源容器的内存总量,从所述资源管理集群中识别出目标服务器;
37、控制单元,用于基于预设命令,控制所述目标服务器处理所述数据查询引擎中的查询任务,令所述目标服务器与所述数据查询引擎之间实现错峰共享。
38、另一方面,本发明还提出一种分布式系统,所述分布式系统包括:
39、存储器,存储计算机可读指令;及
40、处理器,执行所述存储器中存储的计算机可读指令以实现所述资源错峰共享方法。
41、另一方面,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被分布式系统中的处理器执行以实现所述资源错峰共享方法。
42、由以上技术方案可以看出,本申请结合所述资源管理集群的管理空闲时段及所述数据查询引擎的查询繁忙时段,能够准确的识别出资源管理集群存在富余计算资源,且所述数据查询引擎中资源紧张的时段,避免了所述数据查询引擎存在富余资源时,将所述资源管理集群中的资源共享至所述资源管理集群,提高了所述交集时段的识别合理性,进而结合所述数据查询引擎的任务数量及所述运行资源容器的内存总量,选取出所述目标服务器,能够准确的确定出具体进行资源共享的服务器,进而控制所述目标服务器处理所述数据查询引擎中的查询任务,缓解了所述数据查询引擎中资源紧张的问题,同时,避免因所述目标服务器在所述交集时段处于空闲状态而造成资源浪费。
1.一种资源错峰共享方法,应用于分布式系统,所述分布式系统包括资源管理集群及数据查询引擎,其特征在于,所述资源错峰共享方法包括:
2.如权利要求1所述的资源错峰共享方法,其特征在于,所述检测所述资源管理集群的管理空闲时段包括:
3.如权利要求1所述的资源错峰共享方法,其特征在于,所述检测所述数据查询引擎的查询繁忙时段包括:
4.如权利要求1所述的资源错峰共享方法,其特征在于,所述在所述交集时段中,查询所述资源管理集群中每个管理服务器的运行资源容器包括:
5.如权利要求1所述的资源错峰共享方法,其特征在于,所述根据所述数据查询引擎的任务数量及所述运行资源容器的内存总量,从所述资源管理集群中识别出目标服务器包括:
6.如权利要求1所述的资源错峰共享方法,其特征在于,所述基于预设命令,控制所述目标服务器处理所述数据查询引擎中的查询任务,令所述目标服务器与所述数据查询引擎之间实现错峰共享包括:
7.如权利要求1所述的资源错峰共享方法,其特征在于,所述方法还包括:
8.一种资源错峰共享装置,运行于分布式系统,所述分布式系统包括资源管理集群及数据查询引擎,其特征在于,所述资源错峰共享装置包括:
9.一种分布式系统,其特征在于,所述分布式系统包括:
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被分布式系统中的处理器执行以实现如权利要求1至7中任意一项所述的资源错峰共享方法。