CN110545326B - 集群负载调度方法、装置、电子设备和存储介质 - Google Patents
集群负载调度方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN110545326B CN110545326B CN201910851037.8A CN201910851037A CN110545326B CN 110545326 B CN110545326 B CN 110545326B CN 201910851037 A CN201910851037 A CN 201910851037A CN 110545326 B CN110545326 B CN 110545326B
- Authority
- CN
- China
- Prior art keywords
- node
- preset
- nodes
- hbase
- scheduling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种集群负载调度方法、装置、电子设备和存储介质,其中,方法包括:获取每一个节点对应的负载信息;若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点;将不可调度节点从所述多个节点中删除得到待评分节点;根据待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分;根据评分结果从待评分节点中确定目标节点,并将待存储数据块调度到目标节点。解决现有技术中HBase的平衡策略不感知HDFS侧的负载,导致数据块分配集中在集群某些节点,无法充分利用集群的所有资源技术问题,通过对每一个节点的负载信息进行分析,确定比较空闲的节点,并引导数据块到磁盘较空闲的节点,提高集群整体负载能力,充分利用集群资源。
Description
技术领域
本申请涉及数据库技术领域,尤其涉及一种集群负载调度方法、装置、电子设备和存储介质。
背景技术
具体地,HDFS是一种开源的分布式文件存储系统,为其向上的生态提供存储服务,HBase是一种开源的分布式NOSQL数据库,提供KV(Key-Value)数据的高性能载入与查询;HBase的数据存储大多直接利用HDFS进行,两类分布式的系统通常情况下都部署在同一集群。
在非对称部署的情况下(集群某些节点部署了HBase,某些节点没有部署HBase)。由于HBase的数据块Region数量受限于内存大小与HBase侧负责等逻辑,相关平衡策略认知HBase负载时以HBase中的Region个数在集群内进行负载分担,分配Region的位置,分配Region时无法关注到HDFS侧的负载情况,HDFS的平衡策略以磁盘为准则,对磁盘分布较重的DataNode的数据进行分担,由于两边独立进行负载分担,互不感知对方的负载使用情况,则在非对称部署的集群中容易将Region存储在数据集中在HBase所在节点,当HBase所在节点磁盘爆满时也不会将对应Region分配至集群中空闲的节点。
申请内容
本申请旨在至少在一定程度上解决上述相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种集群负载调度方法,解决了现有技术中HBase的平衡策略不感知HDFS侧的负载,导致数据块的分配集中在集群某些节点,无法充分利用集群的所有资源技术问题,通过对每一个节点的负载信息进行分析,确定比较空闲的节点,并引导数据块到磁盘较空闲的节点,提高集群整体负载能力,充分利用集群资源。
本申请的第二个目的在于提出一种集群负载调度装置。
本申请的第三个目的在于提出一种计算机设备。
本申请的第四个目的在于提出一种非临时性计算机可读存储介质。
为达上述目的,本申请第一方面实施例提出了一种集群负载调度方法,包括:获取多个节点中每一个节点对应的负载信息;若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点;将所述不可调度节点从所述多个节点中删除得到待评分节点;根据所述待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分;根据评分结果从所述待评分节点中确定目标节点,并将待存储数据块调度到所述目标节点。
另外,本申请实施例的集群负载调度方法,还具有如下附加的技术特征:
可选地,所述获取多个节点中每一个节点对应的负载信息,包括:获取每一个节点对应的处理器使用信息和存储器使用信息;所述若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点,包括:若节点对应的处理器使用信息大于预设第一使用阈值;或若节点对应的存储器使用信息大于预设第二使用阈值,则确定为不可调度节点。
可选地,所述获取多个节点中每一个节点对应的负载信息,包括:获取每一个节点对应的HDFS指标;其中,所述HDFS指标包括:进程垃圾收集时间、HDFS内存使用率和第一当前请求数量中的一种或者多种;所述若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点,包括:若节点对应的进程垃圾收集时间大于预设时间阈值;或若节点对应的HDFS内存使用率大于预设使用率阈值;或若节点对应的第一当前请求数量大于预设请求阈值,则确定为不可调度节点。
可选地,所述获取多个节点中每一个节点对应的负载信息,包括:获取每一个节点对应的HBase指标;其中,所述HBase指标包括:HBase内存占用率、第二当前请求数量和HBase存储数据块个数中的一种或者多种;所述若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点,包括:若节点对应的HBase内存占用率大于预设占用阈值;或若节点对应的第二当前请求数量大于预设使用率阈值;或若节点对应的HBase存储数据块个数大于预设个数阈值,则确定为不可调度节点。
可选地,所述根据所述待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分,包括:根据预设公式对每一个节点对应的处理器使用信息、存储器使用信息、HDFS内存使用率和HBase存储数据块个数进行计算得到每一个节点对应的评分数值。
可选地,所述根据评分结果从所述待评分节点中确定目标节点,并将待存储数据块调度到所述目标节点,包括:将所述每一个节点对应的评分数值进行比较确定最小评分数值,确定所述最小评分数值对应的节点为所述目标节点,并将待存储数据块调度到所述目标节点。
为达上述目的,本申请第二方面实施例提出了一种集群负载调度装置,包括:获取模块,用于获取多个节点中每一个节点对应的负载信息;确定模块,用于若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点;
删除模块,用于将所述不可调度节点从所述多个节点中删除得到待评分节点;评分模块,用于根据所述待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分;存储模块,用于根据评分结果从所述待评分节点中确定目标节点,并将待存储数据块调度到所述目标节点。
另外,本申请实施例的集群负载调度装置,还具有如下附加的技术特征:
可选地,所述获取模块,具体用于:获取每一个节点对应的处理器使用信息和存储器使用信息;所述确定模块,具体用于:若节点对应的处理器使用信息大于预设第一使用阈值;或若节点对应的存储器使用信息大于预设第二使用阈值,则确定为不可调度节点。
可选地,所述获取模块,具体用于:获取每一个节点对应的HDFS指标;其中,所述HDFS指标包括:进程垃圾收集时间、HDFS内存使用率和第一当前请求数量中的一种或者多种;所述确定模块,具体用于:若节点对应的进程垃圾收集时间大于预设时间阈值;或若节点对应的HDFS内存使用率大于预设使用率阈值;或若节点对应的第一当前请求数量大于预设请求阈值,则确定为不可调度节点。
可选地,所述获取模块,具体用于:获取每一个节点对应的HBase指标;其中,所述HBase指标包括:HBase内存占用率、第二当前请求数量和HBase存储数据块个数中的一种或者多种;所述确定模块,具体用于:若节点对应的HBase内存占用率大于预设占用阈值;或若节点对应的第二当前请求数量大于预设使用率阈值;或若节点对应的HBase存储数据块个数大于预设个数阈值,则确定为不可调度节点。
可选地,所述评分模块,具体用于:根据预设公式对每一个节点对应的处理器使用信息、存储器使用信息、HDFS内存使用率和HBase存储数据块个数进行计算得到每一个节点对应的评分数值。
可选地,所述存储模块,具体用于:将所述每一个节点对应的评分数值进行比较确定最小评分数值,确定所述最小评分数值对应的节点为所述目标节点,并将待存储数据块调度到所述目标节点。
为达上述目的,本申请第三方面实施例提出了一种计算机设备,包括:处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如第一方面实施例所述的集群负载调度方法。
为达上述目的,本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所述的集群负载调度方法。
为达上述目的,本申请第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现如第一方面实施例所述的集群负载调度方法。
本申请实施例提供的技术方案可以包含如下的有益效果:
获取多个节点中每一个节点对应的负载信息;若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点;将不可调度节点从所述多个节点中删除得到待评分节点;根据待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分;根据评分结果从待评分节点中确定目标节点,并将待存储数据块调度到目标节点。解决了现有技术中HBase的平衡策略不感知HDFS侧的负载,导致数据块的分配集中在集群某些节点,无法充分利用集群的所有资源技术问题,通过对每一个节点的负载信息进行分析,确定比较空闲的节点,并引导数据块到磁盘较空闲的节点,提高集群整体负载能力,充分利用集群资源。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本申请一个实施例的集群负载调度方法的流程图;
图2是根据本申请另一个实施例的集群负载调度方法的流程图;
图3是根据本申请一个实施例的集群负载调度装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的集群负载调度方法、装置、电子设备和存储介质。
针对背景技术中提到的,现有技术中HBase的平衡策略不感知HDFS侧的负载,导致数据块的分配集中在集群某些节点,无法充分利用集群的所有资源的技术问题,本申请提出了一种集群负载调度的方法,通过获取多个节点中每一个节点对应的负载信息,若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点,将不可调度节点从多个节点中删除得到待评分节点,根据待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分,根据评分结果从待评分节点中确定目标节点,并将待存储数据块调度到目标节点,由此,引导数据块到磁盘较空闲的节点,提高集群整体负载能力,充分利用集群资源。
具体而言,图1是根据本申请一个实施例的集群负载调度方法的流程图,如图1所示,该方法包括:
步骤101,获取多个节点中每一个节点对应的负载信息。
具体地,可以通过信息采集进程对集群中的各个节点进行信息采集,获取每一个节点对应的中央处理器(CPU)、磁盘和内存的实时使用信息、每一个节点对应的HDFS指标、每一个节点对应的HBase指标和每一个节点对应的HDFS相关指标等负载信息。
步骤102,若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点。
具体地,在获取每一个节点对应的负载信息后,根据节点对应的负载信息判断该节点是否满足预设不可调度条件,若满足则确定为不可调度节点。其中,节点对应的负载信息满足预设不可调度条件有很多种,举例说明如下:
第一种示例,获取每一个节点对应的处理器使用信息和存储器使用信息,若节点对应的处理器使用信息大于预设第一使用阈值;或若点对应的存储器使用信息大于预设第二使用阈值,则确定为不可调度节点。
第二种示例,获取每一个节点对应的HDFS指标;其中,HDFS指标包括:进程垃圾收集时间、HDFS内存使用率和第一当前请求数量中的一种或者多种,若节点对应的进程垃圾收集时间大于预设时间阈值;或若节点对应的HDFS内存使用率大于预设使用率阈值;或若节点对应的第一当前请求数量大于预设请求阈值,则确定为不可调度节点。
第三种示例,获取每一个节点对应的HBase指标;其中,HBase指标包括:HBase内存占用率、第二当前请求数量和HBase存储数据块个数中的一种或者多种,若节点对应的HBase内存占用率大于预设占用阈值;或若节点对应的第二当前请求数量大于预设使用率阈值;或若节点对应的HBase存储数据块个数大于预设个数阈值,则确定为不可调度节点。
步骤103,将不可调度节点从多个节点中删除得到待评分节点。
步骤104,根据待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分。
步骤105,根据评分结果从待评分节点中确定目标节点,并将待存储数据块调度到目标节点。
具体地,不可调度节点表示该节点对应的磁盘已经不能再存储相关数据,因此将确定出的不可调度节点从多个节点中删除得到待评分节点,实现HBase放弃对不可调度节点继续追加负载,不会使情况进一步恶化,提高了集群的稳定性。
进一步地,根据待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分,并根据评分结果从待评分节点中确定目标节点,并将待存储数据块调度到目标节点。
其中,根据待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分的方式有很多种,作为一种示例,根据预设公式对每一个节点对应的处理器使用信息、存储器使用信息、HDFS内存使用率和HBase存储数据块个数进行计算得到每一个节点对应的评分数值。
其中,根据评分结果从待评分节点中确定目标节点,并将待存储数据块调度到目标节点,举例说明如下:
第一种示例,将每一个节点对应的评分数值进行比较确定最小评分数值,确定最小评分数值对应的节点为目标节点,并将待存储数据块调度到目标节点。
第二种示例,确定评分数据大于预设分数阈值的多个节点,从多个节点中随机选取一个节点作为目标节点,并将待存储数据块调度到目标节点。
综上,本申请实施例的集群负载调度方法,获取多个节点中每一个节点对应的负载信息;若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点;将不可调度节点从所述多个节点中删除得到待评分节点;根据待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分;根据评分结果从待评分节点中确定目标节点,并将待存储数据块调度到目标节点。解决了现有技术中HBase的平衡策略不感知HDFS侧的负载,导致数据块的分配集中在集群某些节点,无法充分利用集群的所有资源技术问题,通过对每一个节点的负载信息进行分析,确定比较空闲的节点,并引导数据块到磁盘较空闲的节点,提高集群整体负载能力,充分利用集群资源。
图2是根据本申请另一个实施例的集群负载调度方法的流程图,如图2所示,该方法包括:
步骤201,获取多个节点中每一个节点对应的处理器使用信息、存储器使用信息、HDFS指标和HBase指标。
具体地,获取每一个节点对应的处理器使用信息比如CPU实时使用情况,存储器使用信息比如内存、磁盘等实时使用情况。
具体地,获取每一个节点对应的HDFS指标,比如DataNode进程的垃圾收集时间,进程的输入输出使用率,进程所在节点的磁盘使用率等;获取每一个节点对应的HDFS相关指标;如果节点未部署HDFS,则HDFS指标均为最大值,部署则取真实值;获取每一个节点对应的HBase指标:HBase内存使用情况,当前节点请求数量,当前节点的region个数;如果节点未部署HBase,则HBase指标均为最大值,例如65535等数值极值,部署则取真实值。
步骤202,若节点对应的处理器使用信息大于预设第一使用阈值,或若节点对应的存储器使用信息大于预设第二使用阈值,则确定为不可调度节点。
步骤203,若节点对应的进程垃圾收集时间大于预设时间阈值;或若节点对应的HDFS内存使用率大于预设使用率阈值;或若节点对应的第一当前请求数量大于预设请求阈值,则确定为不可调度节点。
步骤204,若节点对应的HBase内存占用率大于预设占用阈值;或若节点对应的第二当前请求数量大于预设使用率阈值;或若节点对应的HBase存储数据块个数大于预设个数阈值,则确定为不可调度节点。
具体地,若节点对应的处理器使用信息大于预设第一使用阈值,或若节点对应的存储器使用信息大于预设第二使用阈值,则确定为不可调度节点,比如cpu>80%or mem>80%or disk>80%,满足以上条件的节点,则被标记为不可调度节点。
具体地,若节点对应的进程垃圾收集时间大于预设时间阈值;或若节点对应的HDFS内存使用率大于预设使用率阈值;或若节点对应的第一当前请求数量大于预设请求阈值,则确定为不可调度节点,比如节点对应的HDFS磁盘使用率>80%or单次进程垃圾收集时间>5s or节点对应的第一当前请求数量>30000/s等满足以上不可调度条件的节点,则被标记为不可调度节点。
具体地,若节点对应的HBase内存占用率大于预设占用阈值;或若节点对应的第二当前请求数量大于预设使用率阈值;或若节点对应的HBase存储数据块个数大于预设个数阈值,则确定为不可调度节,比如HBase内存占用率>90%or节点对应的第二当前请求数量>30000or region个数>200,满足以上条件的节点,则被标记为不可调度节点。
需要说明的是,上述阈值可以根据实际应用需要进行调整设置。
步骤205,将不可调度节点从多个节点中删除得到待评分节点,根据预设公式对每一个节点对应的处理器使用信息、存储器使用信息、HDFS内存使用率和HBase存储数据块个数进行计算得到每一个节点对应的评分数值。
步骤206,将每一个节点对应的评分数值进行比较确定最小评分数值,确定最小评分数值对应的节点为目标节点,并将待存储数据块调度到目标节点。
具体地,不可调度节点表示该节点对应的磁盘已经不能再存储相关数据,因此将确定出的不可调度节点从多个节点中删除得到待评分节点。
其中,预设公式可以为(cpu+mem+disk)/3*0.2+HDFS磁盘使用率×0.4+HBase当前region个数/200*0.4。
其中,以通过系数来调整资源使用倾向,系数越小则参与预设公式种负载的计算的比例越小,其负载对综合负载的值影响就越小,得出当前集群各个节点是否可调度与各节点的综合负载状态,并记录在高速的通用存储,通过计算评分数值比较小的综合负载,可以迅速判断出集群中最合适后续数据分布的目标节点。
举例而言,以32core 128G 4T×12的机型举例,假设集群各有6台HDFS+YARN节点与6台HDFS+HBase节点;在原方案情况下,当HBase单个Table承载了过多数据时,可能会引起此节点HDFS数据磁盘被占满,HBase进程崩溃,无法提供服务,HBase单表的最大理论数据size为:4T×12;采用本申请提出的集群调度方法后,达到一定阈值的数据会被引流至集群其他节点,单表的理论最大值为4T×12×12。由此,HBase能够承载的数据量的规格更大,集群整体的综合性能更高,集群整体扛负载能力更高,集群的运维更加简单,HBase会自动放弃对不可调度节点继续追加负载,提高集群稳定性。
综上,本申请实施例的集群负载调度方法,获取多个节点中每一个节点对应的处理器使用信息、存储器使用信息、HDFS指标和HBase指标,若节点对应的处理器使用信息大于预设第一使用阈值,或若节点对应的存储器使用信息大于预设第二使用阈值,则确定为不可调度节点,若节点对应的进程垃圾收集时间大于预设时间阈值;或若节点对应的HDFS内存使用率大于预设使用率阈值;或若节点对应的第一当前请求数量大于预设请求阈值,则确定为不可调度节点,若节点对应的HBase内存占用率大于预设占用阈值;或若节点对应的第二当前请求数量大于预设使用率阈值;或若节点对应的HBase存储数据块个数大于预设个数阈值,则确定为不可调度节点,将不可调度节点从多个节点中删除得到待评分节点,根据预设公式对每一个节点对应的处理器使用信息、存储器使用信息、HDFS内存使用率和HBase存储数据块个数进行计算得到每一个节点对应的评分数值,将每一个节点对应的评分数值进行比较确定最小评分数值,确定最小评分数值对应的节点为目标节点,并将待存储数据块调度到目标节点。解决了现有技术中HBase的平衡策略不感知HDFS侧的负载,导致数据块的分配集中在集群某些节点,无法充分利用集群的所有资源技术问题,通过对每一个节点的负载信息进行分析,确定比较空闲的节点,并引导数据块到磁盘较空闲的节点,提高集群整体负载能力,充分利用集群资源。
为了实现上述实施例,本申请还提出了一种集群负载调度装置。图3是根据本申请一个实施例的集群负载调度装置的结构示意图,如图3所示,该集群负载调度装置包括:获取模块301、确定模块302、删除模块303、评分模块304和存储模块305,其中,
获取模块301,用于获取多个节点中每一个节点对应的负载信息。
确定模块302,用于若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点。
删除模块303,用于将所述不可调度节点从所述多个节点中删除得到待评分节点。
评分模块304,用于根据所述待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分。
存储模块305,用于根据评分结果从所述待评分节点中确定目标节点,并将待存储数据块调度到所述目标节点。
在本申请的一个实施例中,获取模块301,具体用于:获取每一个节点对应的处理器使用信息和存储器使用信息;确定模块302,具体用于:若节点对应的处理器使用信息大于预设第一使用阈值;或若节点对应的存储器使用信息大于预设第二使用阈值,则确定为不可调度节点。
在本申请的一个实施例中,获取模块301,具体用于:获取每一个节点对应的HDFS指标;其中,所述HDFS指标包括:进程垃圾收集时间、HDFS内存使用率和第一当前请求数量中的一种或者多种;所述确定模块302,具体用于:若节点对应的进程垃圾收集时间大于预设时间阈值;或若节点对应的HDFS内存使用率大于预设使用率阈值;或若节点对应的第一当前请求数量大于预设请求阈值,则确定为不可调度节点。
在本申请的一个实施例中,获取模块301,具体用于:获取每一个节点对应的HBase指标;其中,所述HBase指标包括:HBase内存占用率、第二当前请求数量和HBase存储数据块个数中的一种或者多种;所述确定模块302,具体用于:若节点对应的HBase内存占用率大于预设占用阈值;或若节点对应的第二当前请求数量大于预设使用率阈值;或若节点对应的HBase存储数据块个数大于预设个数阈值,则确定为不可调度节点。
在本申请的一个实施例中,评分模块304,具体用于:根据预设公式对每一个节点对应的处理器使用信息、存储器使用信息、HDFS内存使用率和HBase存储数据块个数进行计算得到每一个节点对应的评分数值。
在本申请的一个实施例中,存储模块305,具体用于:将所述每一个节点对应的评分数值进行比较确定最小评分数值,确定所述最小评分数值对应的节点为所述目标节点,并将待存储数据块调度到所述目标节点。
需要说明的是,前述对集群负载调度方法实施例的解释说明也适用于该实施例的集群负载调度装置,此处不再赘述。
综上,本申请实施例的集群负载调度装置,获取多个节点中每一个节点对应的负载信息;若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点;将不可调度节点从所述多个节点中删除得到待评分节点;根据待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分;根据评分结果从待评分节点中确定目标节点,并将待存储数据块调度到目标节点。解决了现有技术中HBase的平衡策略不感知HDFS侧的负载,导致数据块的分配集中在集群某些节点,无法充分利用集群的所有资源技术问题,通过对每一个节点的负载信息进行分析,确定比较空闲的节点,并引导数据块到磁盘较空闲的节点,提高集群整体负载能力,充分利用集群资源。
为了实现上述实施例,本申请还提出一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如前述实施例所描述的集群负载调度方法。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述方法实施例所描述的集群负载调度方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种集群负载调度方法,其特征在于,包括以下步骤:
获取多个节点中每一个节点对应的负载信息,其中,所述负载信息包括每一个节点对应的HDFS指标和HBase指标,所述HDFS指标包括进程垃圾收集时间、HDFS内存使用率和第一当前请求数量中的一种或者多种,所述HBase指标包括HBase内存占用率、第二当前请求数量和HBase存储数据块个数中的一种或者多种;
若节点对应的负载信息满足任一不可调度条件,则确定为不可调度节点,其中,所述不可调度条件包括:若所述进程垃圾收集时间大于预设时间阈值;若所述HDFS内存使用率大于预设使用率阈值;若所述第一当前请求数量大于预设请求阈值;若所述HBase内存占用率大于预设占用阈值;若所述第二当前请求数量大于预设使用阈值;若所述HBase存储数据块个数大于预设个数阈值;
将所述不可调度节点从所述多个节点中删除得到待评分节点;
根据所述待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分;
根据评分结果从所述待评分节点中确定目标节点,并将待存储数据块调度到所述目标节点。
2.如权利要求1所述的方法,其特征在,所述获取多个节点中每一个节点对应的负载信息,还包括:
获取每一个节点对应的处理器使用信息和存储器使用信息;
所述若节点对应的负载信息满足预设不可调度条件,则确定为不可调度节点,包括:
若节点对应的处理器使用信息大于预设第一使用阈值;或
若节点对应的存储器使用信息大于预设第二使用阈值,则确定为不可调度节点。
3.如权利要求1所述的方法,其特征在,所述根据所述待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分,包括:
根据预设公式对每一个节点对应的处理器使用信息、存储器使用信息、HDFS内存使用率和HBase存储数据块个数进行计算得到每一个节点对应的评分数值。
4.如权利要求1所述的方法,其特征在,所述根据评分结果从所述待评分节点中确定目标节点,并将待存储数据块调度到所述目标节点,包括:
将所述每一个节点对应的评分数值进行比较确定最小评分数值,确定所述最小评分数值对应的节点为所述目标节点,并将待存储数据块调度到所述目标节点。
5.一种集群负载调度装置,其特征在于,包括:
获取模块,用于获取多个节点中每一个节点对应的负载信息,其中,所述负载信息包括每一个节点对应的HDFS指标和HBase指标,所述HDFS指标包括进程垃圾收集时间、HDFS内存使用率和第一当前请求数量中的一种或者多种,所述HBase指标包括HBase内存占用率、第二当前请求数量和HBase存储数据块个数中的一种或者多种;
确定模块,用于若节点对应的负载信息满足任一不可调度条件,则确定为不可调度节点,其中,所述不可调度条件包括:若所述进程垃圾收集时间大于预设时间阈值;若所述HDFS内存使用率大于预设使用率阈值;若所述第一当前请求数量大于预设请求阈值;若所述HBase内存占用率大于预设占用阈值;若所述第二当前请求数量大于预设使用阈值;若所述HBase存储数据块个数大于预设个数阈值,则确定所述节点为不可调度节点;
删除模块,用于将所述不可调度节点从所述多个节点中删除得到待评分节点;
评分模块,用于根据所述待评分节点中每一个节点对应的负载信息按照预设评分规则进行评分;
存储模块,用于根据评分结果从所述待评分节点中确定目标节点,并将待存储数据块调度到所述目标节点。
6.如权利要求5所述的装置,其特征在,所述获取模块,还用于:
获取每一个节点对应的处理器使用信息和存储器使用信息;
所述确定模块,具体用于:
若节点对应的处理器使用信息大于预设第一使用阈值;或
若节点对应的存储器使用信息大于预设第二使用阈值,则确定为不可调度节点。
7.如权利要求5所述的装置,其特征在,所述评分模块,具体用于:
根据预设公式对每一个节点对应的处理器使用信息、存储器使用信息、HDFS内存使用率和HBase存储数据块个数进行计算得到每一个节点对应的评分数值。
8.如权利要求5所述的装置,其特征在,所述存储模块,具体用于:
将所述每一个节点对应的评分数值进行比较确定最小评分数值,确定所述最小评分数值对应的节点为所述目标节点,并将待存储数据块调度到所述目标节点。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-4任一所述的集群负载调度方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4任一所述的集群负载调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910851037.8A CN110545326B (zh) | 2019-09-10 | 2019-09-10 | 集群负载调度方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910851037.8A CN110545326B (zh) | 2019-09-10 | 2019-09-10 | 集群负载调度方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110545326A CN110545326A (zh) | 2019-12-06 |
CN110545326B true CN110545326B (zh) | 2022-09-16 |
Family
ID=68713051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910851037.8A Active CN110545326B (zh) | 2019-09-10 | 2019-09-10 | 集群负载调度方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110545326B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968463B (zh) * | 2019-12-19 | 2022-08-30 | 北京五八信息技术有限公司 | 一种确定群组中各数据节点类型的方法及装置 |
CN111124681B (zh) * | 2019-12-24 | 2023-04-11 | 广州广电五舟科技股份有限公司 | 一种集群负载分配方法及装置 |
CN111274035B (zh) * | 2020-01-20 | 2024-03-08 | 长沙市源本信息科技有限公司 | 边缘计算环境下的资源调度方法、装置和计算机设备 |
CN111629050A (zh) * | 2020-05-22 | 2020-09-04 | 浙江大华技术股份有限公司 | 节点调度方法及装置、存储介质、电子装置 |
CN113301087B (zh) * | 2020-07-21 | 2024-04-02 | 阿里巴巴集团控股有限公司 | 资源调度方法、装置、计算设备和介质 |
CN112328176B (zh) * | 2020-11-04 | 2024-01-30 | 北京计算机技术及应用研究所 | 基于多控磁盘阵列nfs共享的智能调度方法 |
CN112788099A (zh) * | 2020-11-11 | 2021-05-11 | 中移雄安信息通信科技有限公司 | 加载后端服务的方法、装置、设备及计算机存储介质 |
CN113127202A (zh) * | 2021-04-25 | 2021-07-16 | 北京明略昭辉科技有限公司 | 一种任务熔断方法、系统、电子设备及可读存储介质 |
CN113568746B (zh) * | 2021-07-27 | 2024-01-02 | 北京达佳互联信息技术有限公司 | 负载均衡方法、装置、电子设备及存储介质 |
CN114979271A (zh) * | 2022-05-11 | 2022-08-30 | 浪潮云信息技术股份公司 | 一种基于边缘云计算的cdn缓存分层调度方法 |
CN117349035B (zh) * | 2023-12-05 | 2024-03-15 | 中电云计算技术有限公司 | 工作负载的调度方法、装置、设备及存储介质 |
CN118152103B (zh) * | 2024-05-10 | 2024-07-12 | 腾讯科技(深圳)有限公司 | 应用于分布式系统的节点调度方法及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533792A (zh) * | 2016-12-12 | 2017-03-22 | 北京锐安科技有限公司 | 一种监控和配置资源的方法及装置 |
CN108009260A (zh) * | 2017-12-11 | 2018-05-08 | 西安交通大学 | 一种大数据存储下结合节点负载和距离的副本放置方法 |
CN108829509A (zh) * | 2018-05-03 | 2018-11-16 | 山东汇贸电子口岸有限公司 | 基于国产cpu和操作系统的分布式容器集群框架资源管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10055458B2 (en) * | 2015-07-30 | 2018-08-21 | Futurewei Technologies, Inc. | Data placement control for distributed computing environment |
-
2019
- 2019-09-10 CN CN201910851037.8A patent/CN110545326B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533792A (zh) * | 2016-12-12 | 2017-03-22 | 北京锐安科技有限公司 | 一种监控和配置资源的方法及装置 |
CN108009260A (zh) * | 2017-12-11 | 2018-05-08 | 西安交通大学 | 一种大数据存储下结合节点负载和距离的副本放置方法 |
CN108829509A (zh) * | 2018-05-03 | 2018-11-16 | 山东汇贸电子口岸有限公司 | 基于国产cpu和操作系统的分布式容器集群框架资源管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110545326A (zh) | 2019-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110545326B (zh) | 集群负载调度方法、装置、电子设备和存储介质 | |
CN110837410B (zh) | 任务调度方法、装置、电子设备及计算机可读存储介质 | |
CN110287245B (zh) | 用于分布式etl任务调度执行的方法及系统 | |
US10558498B2 (en) | Method for scheduling data flow task and apparatus | |
CN107656807B (zh) | 一种虚拟资源的自动弹性伸缩方法及装置 | |
KR101502896B1 (ko) | 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법 | |
US20150295970A1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
CN106648456B (zh) | 基于用户访问量以及预测机制的动态副本文件访问方法 | |
CN111522636A (zh) | 应用容器的调整方法、调整系统、计算机可读介质及终端设备 | |
CN112214288B (zh) | 基于Kubernetes集群的Pod调度方法、装置、设备和介质 | |
CN107273200B (zh) | 一种针对异构存储的任务调度方法 | |
CN111061752A (zh) | 数据处理方法、装置及电子设备 | |
CN115576924A (zh) | 一种数据迁移的方法 | |
CN105740077B (zh) | 一种适用于云计算的任务分配方法 | |
CN112637286B (zh) | 网络架构调整方法、装置、系统和计算机可读存储介质 | |
CN104391735B (zh) | 虚拟化一体机集群中虚拟机调度方法及系统 | |
CN110930092B (zh) | 一种配送路线调整方法、装置、电子设备和存储介质 | |
CN114064226A (zh) | 容器集群的资源调协方法、调协装置及存储介质 | |
CN106571935A (zh) | 一种资源调度的方法与设备 | |
CN107229519B (zh) | 任务调度方法和装置 | |
US10803036B2 (en) | Non-transitory computer-readable storage medium, data distribution method, and data distribution device | |
WO2018205890A1 (zh) | 一种分布式系统的任务分配方法及系统及其计算机可读存储介质和计算机设备 | |
CN115469980A (zh) | 一种产品介质下载任务调度方法、装置及电子设备 | |
KR20180035023A (ko) | 스토리지 오케스트레이션의 학습형 최적화 대상 볼륨 선정 방법 | |
CN114090220B (zh) | 一种分级cpu和内存资源调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |