Hadoop集群组件指标的采集方法及装置与流程

文档序号:12133666阅读:438来源:国知局
Hadoop集群组件指标的采集方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种Hadoop集群组件指标的采集方法及装置。



背景技术:

基于Hadoop生态圈的大数据管理系统(以下简称大数据管理系统)是大数据系统的关键系统之一。通过大数据管理系统可以实现对资源的管理,如集群创建、HBase分布式数据库、HDFS文件系统、MR程序资源、节点资源、安装资源、用户状态等;通过大数据管理系统可以实现对关系的管理,如用户与分布式文件目录的关系、MR程序资源与节点资源的关系、安装资源与节点资源的关系等;通过大数据管理系统可以实现对行为的管理和组件资源、性能指标的监控,如HDFS服务的DataNode的节点远程安装、服务的启动和停止和Yarn运行、作业状态监控等。

大数据管理系统中Hadoop集群的运行、作业等状态监控是大数据管理系统正常运行的重要保障。集群中组件监控主要涉及性能指标采集技术,目前,网络管理系统性能指标主要有被动收集和主动轮询采集两种常用采集方法。

相关技术中的主动轮询采集算法主要有:等时间间隔轮询周期性采集算法,虽然操作简单、实施方便,但是轮询间隔确定比较困难,间隔时间过长,无法保证实时性,间隔时间过短,增加集群中节点主机负载和数据入库汇总压力,甚至会导致采集数据丢失;基于历史轮询往返延迟的算法,主要根据历史轮询请求响应时间决定下一个轮询间隔,该值与网络带宽状态有关,虽然能够简单动态地调节轮询时间,但是随时间变化的网络状态信息对网络性能和故障管理有很大影响,而且该算法不能动态表示出数据变化的细节。随着人工智能、神经网络等技术的出现,轮询算法也有所改进,出现了基于一元线性回归等单一预测算法的轮询策略,都是通过将采集的历史数据预测值与实际值偏差与门限对比,动态调节轮询时间,能够刻画数据细节并且简单智能调节,但是单一预测算法会存在适用场景限制和准确性等问题,例如:一元线性回归算法在波动较大的数据中性能并不理想,而像Yarn这样计算型组件指标值波动较大,计算会出现较大误差。此外,相关技术中指标采集策略中忽略集群中节点的负载情况与Hadoop组件特性,在节点重载情况下,甚至会出现无法完成组件指标采集任务的情况,从而影响整个大数据管理系统正常运行。

针对相关技术中指标采集轮询策略中忽略集群中节点负载与Hadoop组件特性的导致性能不佳的问题,目前尚未存在有效的解决方案。



技术实现要素:

本发明提供了一种Hadoop集群组件指标的采集方法及装置,以至少解决相关技术中指标采集轮询策略中忽略集群中节点负载与Hadoop组件特性的导致性能不佳的问题。

根据本发明的一个方面,提供了一种Hadoop集群组件指标的采集方法,包括:获取Hadoop集群组件中第一节点在指定时刻之前多个时刻的指标值;根据第一预定规则通过所述多个时刻的指标值得到所述第一节点在所述指定时刻的第一指标预测值;获取所述第一节点的多个负载参数,以及所述第一指标预测值与所述指定时刻的实际采集指标值之间的偏差值;根据所述第一节点的组件类型对所述多个负载参数以及所述偏差值进行加权计算,并根据第二预定规则通过加权计算的结果得到采集所述Hadoop集群组件指标的采集时间;在达到所述采集时间时,采集所述Hadoop集群组件指标并将所述Hadoop集群组件指标上报到管理系统。

进一步地,根据第一预定规则通过所述多个时刻的指标值得到所述第一节点在所述指定时刻的第一指标预测值包括:根据灰度模型通过所述多个时刻的指标值得到所述指定时刻的指标初步预测值;根据马尔科夫链模型通过所述指标初步预测值与所述指定时刻的实际采集值得到所述指定时刻的指标初步预测偏差值;根据所述指标初步预测偏差值与所述指标初步预测值计算出所述第一指标预测值。

进一步地,根据第二预定规则得到所述Hadoop集群组件指标的采集时间包括:将加权计算得到的结果与预先设定的门限值进行比较;根据比较结果得到所述指定时刻的轮询延迟时间,将所述轮询延迟时间加上预设轮询周期时间的和作为采集Hadoop集群组件指标值的采集时间。

进一步地,所述第一节点的所述负载参数包括:CPU使用率、内存使用率、带宽使用率、传输时延。

进一步地,所述第一节点的组件类型包括:计算型和存储型。

根据本发明的另一个方面,提供了一种Hadoop集群组件指标的采集装置,包括:第一获取模块,用于获取Hadoop集群组件中第一节点在指定时刻之前多个时刻的指标值;第一处理模块,用于根据第一预定规则通过所述多个时刻的指标值得到所述第一节点在所述指定时刻的第一指标预测值;第二获取模块,用于获取所述第一节点的多个负载参数,以及所述第一指标预测值与所述指定时刻的实际采集指标值之间的偏差值;第二处理模块,用于根据所述第一节点的组件类型对所述多个负载参数以及所述偏差值进行加权计算,并根据第二预定规则通过加权计算的结果得到采集所述Hadoop集群组件指标的采集时间;采集模块,用于在达到所述采集时间时,采集所述Hadoop集群组件指标并将所述Hadoop集群组件指标上报到管理系统。

进一步地,所述第一处理模块包括:第一处理单元,用于根据灰度模型通过所述多 个时刻的指标值得到所述指定时刻的指标初步预测值;第二处理单元,用于根据马尔科夫链模型通过所述指标初步预测值与所述指定时刻的实际采集值得到所述指定时刻的指标初步预测偏差值;计算单元,用于根据所述指标初步预测偏差值与所述指标初步预测值计算出所述第一指标预测值。

进一步地,所述第二处理模块包括:比较单元,用于将加权计算得到的结果与预先设定的门限值进行比较;第三处理单元,用于根据比较结果得到所述指定时刻的轮询延迟时间,将所述轮询延迟时间加上预设轮询周期时间的和作为采集Hadoop集群组件指标值的采集时间。

进一步地,所述第一节点的所述负载参数包括:CPU使用率、内存使用率、带宽使用率、传输时延。

进一步地,所述第一节点的组件类型包括:计算型和存储型。

在本发明中,采用将获取到的Hadoop集群组件中第一节点在指定时刻之前多个时刻的指标值通过第一预定规则得到该第一节点在该指定时刻的第一指标预测值,通该第一指标预测值与该指定时刻的实际采集指标值之间的偏差值与该第一节点的多个负载参数进行加权计算,将该加权计算的结果通过第二预定规则得到该采集该Hadoop集群组件指标的采集时间,在达到采集时间时,采集Hadoop集群组件指标并将Hadoop集群组件指标上报到管理系统;可见,在发明中中结合节点主机负载与待采集组件类型,动态调节集群中组件指标采集时间,从而解决了相关技术中指标采集轮询策略中忽略集群中节点负载与Hadoop组件特性的导致性能不佳的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的Hadoop集群组件指标的采集方法的流程图;

图2是根据本发明实施例的Hadoop集群组件指标的采集装置的结构框图;

图3是根据本发明实施例的Hadoop集群组件指标的采集装置的可选结构框图一;

图4是根据本发明实施例的Hadoop集群组件指标的采集装置的可选结构框图二;

图5是根据本发明可选实施例的Hadoop组件指标轮询采集模块结构框图;

图6是根据本发明可选实施例的Hadoop组件指标轮询延迟时间计算流程图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情 况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种Hadoop集群组件指标的采集方法,图1是根据本发明实施例的Hadoop集群组件指标的采集方法的流程图,如图1所示,该流程包括如下步骤:

步骤S102:获取Hadoop集群组件中第一节点在指定时刻之前多个时刻的指标值;

步骤S104:根据第一预定规则通过多个时刻的指标值得到第一节点在指定时刻的第一指标预测值;

步骤S106:获取第一节点的多个负载参数,以及第一指标预测值与指定时刻的实际采集指标值之间的偏差值;

步骤S108:根据第一节点的组件类型对多个负载参数以及偏差值进行加权计算,并根据第二预定规则得到采集Hadoop集群组件指标的采集时间;

步骤S110:在达到采集时间时,采集Hadoop集群组件指标并将Hadoop集群组件指标上报到管理系统。

通过上述步骤S102至步骤S110,采用将获取到的Hadoop集群组件中第一节点在指定时刻之前多个时刻的指标值通过第一预定规则得到该第一节点在该指定时刻的第一指标预测值,通该第一指标预测值与该指定时刻的实际采集指标值之间的偏差值与该第一节点的多个负载参数进行加权计算,将该加权计算的结果通过第二预定规则得到该采集该Hadoop集群组件指标的采集时间,在达到采集时间时,采集Hadoop集群组件指标并将Hadoop集群组件指标上报到管理系统;可见,在本实施例中结合节点主机负载与待采集组件类型,动态调节集群中组件指标采集时间,从而解决了相关技术中指标采集轮询策略中忽略集群中节点负载与Hadoop组件特性的导致性能不佳的问题。

对于本实施例中步骤S104涉及到的根据第一预定规则通过多个时刻的指标值得到第一节点在指定时刻的第一指标预测值的方式,在本实施例的一个可选实施方式中,通过如下方式来实现:

步骤S11:根据灰度模型通过多个时刻的指标值得到指定时刻的指标初步预测值;

步骤S12:根据马尔科夫链模型通过指标初步预测值与指定时刻的实际采集值得到指定时刻的指标初步预测偏差值;

步骤S13:根据指标初步预测偏差值与指标初步预测值计算出第一指标预测值。

由上述步骤S11至步骤S13可知,采用了通过灰度模型和马尔科夫链模型得到该指定时刻的第一指标预测值,而灰度模型和马尔科夫链模型能够适用更多场景,使得得到 的指标预测值更加准确,也就是通过上述本实施例的方案,能够解决相关技术中的指标采集轮询策略中使用单一预测算法的导致的不同场景准确性问题。

对于本实施例步骤S108中的根据第一节点的组件类型对多个负载参数以及偏差值θ进行加权计算,在本实施例的可选实施方式中,该第一节点的负载参数可以是:CPU使用率、内存使用率、带宽使用率、传输时延;需要说明的是,本实施例中涉及到的负载参数并不仅仅限于上述参数,上述负载参数是本实施例的优选负载参数。此外,该第一节点的组件类型包括:计算型和存储型。

对于本实施例中的步骤S108中涉及到的上述方式,在本实施例的一个应用场景可以是:在指定时刻获取大数据集群中该第一节点主机的负载情况,如CPU使用率α、内存使用率β、带宽使用率χ、传输时延t,根据组件类型中的存储型组件的特性,需要减少内存使用率和传输时延的权重,给定不同的加权系数加权计算f=a·θ+b·α+c·β+d·χ+k·t。

而对于本实施例中的步骤S108中涉及到的根据第二预定规则得到Hadoop集群组件指标的采集时间的方式,在本实施例的一个可选实施方式中,可以通过如下方式来实现:

步骤S21:将加权计算得到的结果与预先设定的门限值进行比较;

步骤S22:根据比较结果得到指定时刻的轮询延迟时间,将轮询延迟时间加上预设轮询周期时间的和作为采集Hadoop集群组件指标值的采集时间。

其中,该轮询延迟时间可以根据经验取值为2s至5s。

由上述步骤S21和步骤S22中,采用了通过预先设定的门限值与轮询延迟时间使得得到采集时间的算法更加全面,合理避免了固定周期带来诸多问题,也就是说解决了相关技术中大数据管理系统组件指标采集中存在的固定周期性采集性能数据存在的实时性和效率问题。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

在本实施例中还提供了一种Hadoop集群组件指标的采集装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软 件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图2是根据本发明实施例的Hadoop集群组件指标的采集装置的结构框图,如图2所示,该装置包括:第一获取模块202,用于获取Hadoop集群组件中第一节点在指定时刻之前多个时刻的指标值;第一处理模块204,与第一获取模块202耦合连接,用于根据第一预定规则通过多个时刻的指标值得到第一节点在指定时刻的第一指标预测值;第二获取模块206,与第一处理模块204耦合连接,用于获取第一节点的多个负载参数,以及第一指标预测值与指定时刻的实际采集指标值之间的偏差值;第二处理模块208,与第二获取模块206耦合连接,用于根据第一节点的组件类型对多个负载参数以及偏差值进行加权计算,并根据第二预定规则通过加权计算的结果得到采集Hadoop集群组件指标的采集时间;采集模块210,与第二处理模块208耦合连接,用于在达到采集时间时,采集Hadoop集群组件指标并将Hadoop集群组件指标上报到管理系统。

图3是根据本发明实施例的Hadoop集群组件指标的采集装置的可选结构框图一,如图3所示,该第一处理模块204包括:第一处理单元302,用于根据灰度模型通过多个时刻的指标值得到指定时刻的指标初步预测值;第二处理单元304,与第一处理单元302耦合连接,用于根据马尔科夫链模型通过指标初步预测值与指定时刻的实际采集值得到指定时刻的指标初步预测偏差值;计算单元306,与第二处理单元304耦合连接,用于根据指标初步预测偏差值与指标初步预测值计算出第一指标预测值。

图4是根据本发明实施例的Hadoop集群组件指标的采集装置的可选结构框图二,如图4所示,该第二处理模块208包括:比较单元402,用于将加权计算得到的结果与预先设定的门限值进行比较;第三处理单元404,与比较单元402耦合连接,用于根据比较结果得到指定时刻的轮询延迟时间,将轮询延迟时间加上预设轮询周期时间的和作为采集Hadoop集群组件指标值的采集时间。

可选地,第一节点的负载参数包括:CPU使用率、内存使用率、带宽使用率、传输时延。该第一节点的组件类型包括:计算型和存储型。

下面通过本发明的可选实施例对本发明进行举例说明;

本可选实施例提供了一种Hadoop集群组件指标轮询采集模块,图5是根据本发明可选实施例的Hadoop组件指标轮询采集模块结构框图,如图5所示,该装置包括:

主节点汇总模块,用于在集群主节点Manager中,接收集群中各个节点主机轮询采集的指标数据,进行汇总,持久化处理;

指标采集模块,用于在集群各个节点上,负责执行采集与发送指标任务。

指标预测模块,用于在集群各个节点上,结合适合趋势预测的灰度模型和适合大波动预测的马尔科夫链模型,根据组件历史实际指标预测新的指标值。

负载采集模块,用于在集群各个节点上,采集节点主机当前负载情况。

轮询计算模块,用于在集群各个节点上,负责计算出执行指标采集任务需要的延迟时间。

当节点执行组件指标采集任务时,首先由指标预测模块计算指标预测值,同时负载采集模块会采集当前节点负载,轮询计算模块根据最近一次历史指标预测偏差、节点负载以及组件类型,加权计算出当次执行任务需要的延迟时间,加上设定的最小轮询采集周期,得到执行指标采集发送任务时间。到达该时间后,指标采集模块采集组件指标,并且向主节点汇总模块发送,完成一次指标采集,依次进行之后的指标采集任务。

此外,基于该Hadoop集群组件指标轮询采集模块本可选实施例还提供了一种Hadoop集群组件指标轮询采集方法,该方法的步骤包括:

步骤S1,初始化;

其中,按照固定周期轮询采集策略,设定组件指标采集最小轮询周期,开始指标采集任务。

步骤S2,根据组件历史指标值预测;

其中,首先根据组件历史指标值,使用灰度GM(1,1)模型得到的指标初步预测值,计算该预测值与采集的实际值偏差百分比。然后,根据历史指标初步预测偏差值,使用马尔可夫链模型,计算得到初步预测偏差值,并且据此对步骤1的最新的初步指标预测结果进行修正,得到最终指标预测值。

步骤S3,结合预测值偏差、组件类型特性、负载加权计算;

其中,计算上述最终预测值与实际采集值的偏差百分比,获取大数据集群中该节点主机当前负载情况(包括CPU使用率,内存使用率,带宽使用率,传输时延),按照计算型、存储型的组件类型,给定不同的加权系数,加权计算。

步骤S4,门限值对比得到当次轮询时间;

其中,加权计算结果与设定的门限值比较,根据对比结果得到对应当次指标采集轮询延迟时间,加上设定的最小固定轮询周期,得到当次指标采集任务执行时间。

步骤S5,采集组件性能指标值;

其中,到达执行采集指标任务时间后,采集该组件性能指标值,发送汇总到大数据管理系统。

通过本可选实施例的Hadoop集群组件指标轮询采集方法及装置,结合大数据管理系统中集群中节点主机负载与待采集Hadoop组件类型,动态调节Hadoop集群中组件指标采集时间,计算算法更加全面,合理避免固定周期带来诸多问题,其中轮询算法结合灰度模型与马尔科夫链模型,能够适用更多场景,更加准确,提升了大数据管理系统 指标监控的性能。

下面结合图6和HDFS文件系统使用容量这一指标采集样例和具体实施例对本发明可选实施例进行举例说明,图6是根据本发明可选实施例的Hadoop组件指标轮询延迟时间计算流程图,如图6所示,该方法的步骤包括:

步骤S601:获取组件历史指标数据;

步骤S602:获取灰度模型预测指标;

步骤S603:获取马尔科夫链模型对预测值修正;之后执行步骤S606;

步骤S604:获取组件类型;之后执行步骤S606;

步骤S605:获取节点负载情况;之后执行步骤S606;

步骤S606:加权相加与门限比较;

步骤S607:轮询指标采集延迟时间。

下面结合以下步骤对图6中的步骤S601至步骤S607进行详细的描述。

该方法的步骤包括:

步骤S41:HDFS文件系统使用容量指标(以下简称HDFS使用容量)采集任务,设定最小固定轮询周期时间T1。

步骤S42:根据HDFS使用容量历史指标值Xn-1={x1,,x2,...,xn-1},使用经典灰度模型GM(1,1),计算得到在n时刻的使用容量的初步预测值Xn';

步骤S43:计算HDFS使用容量历史每个采集时刻经过灰度模型初步预测值与实际采集值偏差Yn-1=Xn-1-Xn-1'/Xn-1

步骤S44:根据历史使用容量预测值与实际采集偏差值Yn-1,使用马尔科夫链模型,计算在n时刻偏差预测值yn

步骤S45:根据HDFS使用容量的初步预测值Xn'与n时刻预测偏差预测值yn,计算出n时刻最终的容量预测值xn

步骤S46:计算最近一次即n-1时刻,经过灰度模型以及马尔科夫链模型预测的使用容量值与实际采集的偏差zn-1=xn-1-xn-1′/xn-1

步骤S47:获取在n时刻,大数据集群中改节点主机的负载情况(CPU使用率α,内存使用率β,带宽使用率χ,传输时延t),根据HDFS存储型组件的特性,需要减少内存使用率和传输时延的权重,加权计算f=a·zn-1+b·α+c·β+d·t+k;

步骤S48:将计算得到的f值,与预先设定的各个门限值对比,得到在n时刻轮询延迟时间T;

步骤S49:在T1+T时间后,采集HDFS使用容量指标值,汇总到大数据管理系统中,完成大数据指标采集。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

步骤S1:获取集群组件中第一节点在指定时刻之前多个时刻的指标值;

步骤S2:根据第一预定规则通过多个时刻的指标值得到第一节点在指定时刻的第一指标预测值;

步骤S3:获取第一节点的多个负载参数,以及第一指标预测值与指定时刻的实际采集指标值之间的偏差值;

步骤S4:根据第一节点的组件类型对多个负载参数以及偏差值进行加权计算,并根据第二预定规则得到采集集群组件指标的采集时间;

步骤S5:在达到采集时间时,采集集群组件指标并将集群组件指标上报到管理系统。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1