一种基于MapReduce技术的集群监控原始数据抽样计算和存储方法与流程

文档序号:20917817发布日期:2020-05-29 13:45阅读:182来源:国知局
本发明涉及数据处理
技术领域
:,具体而言,为一种基于mapreduce技术的集群监控原始数据抽样计算和存储方法。
背景技术
::随着互联网技术,大数据的快速发展,高性能计算机的应用领域越来越广泛,高性能服务器集群部署越来越多,集群监控的应用要求越来越高,同时产生了大量的集群监控采集指标数据。这些数据如何将其高效的存储与管理,已经成为一个迫切需要解决的问题。hadoop是由apache基金会组织开发的一个开源的分布式大数据处理平台,它具有易扩展、高容错、可靠、高效等特点,成为近几年应用最广泛的开源大数据处理平台,其核心是hdfs,mapreduce(hadoop平台分式计算海量数据计算模型)。hbase使用hadoop的分布式文件系统hdfs作为底层存储,是一个分布式、面向列的nosql数据库,它适合于存储大数据,支持单条记录的快速查询,在任意指定位置单条或批量添加、删除数据,并且支持mapreduce框架做分布式计算操作。目前越来越多的科研和企业单位都在应用hadoop和hbase,并取得了一定的成果。但随着时间的推移,集群监控指标原始数据指数增长,根据原始数据做分析和应用,性能极其低下;且由于hadoop环境硬件资源配置的限制(存储空间,内存大小,cpu处理核数等),不能支持太大数据和计算,检索数据性能方面仍有很多不足。有鉴于此,特提出本发明。技术实现要素:针对现有技术中的缺陷,本发明提供一种基于mapreduce技术的集群监控原始数据抽样计算和存储方法,以利于提高集群监控数据的查询性能。为了实现上述目的,本发明的技术方案为:一种基于mapreduce技术的集群监控原始数据抽样计算和存储方法,包括:s1.获取集群监控采集指标模板数据;s2.进行集群监控采集指标模板数据与集群监控指标原始数据抽样计算,并将计算结果处理输出到集群监控指标抽样表中,其中,在map阶段对获取到的集群监控采集指标原始数据进行:过滤掉错误数据,然后根据集群监控采集指标模板数据和集群监控采集指标原始数据做对比,把符合的数据筛选出来,分成若干个数据集,生成新的<key,value>数据,输出到reduce阶段;reduce阶段:遍历map阶段输出的若干数据集,对每一类指标值的数据集进行汇总总量,并计算平均值、最大值和最小值;s3.将计算出的平均值、最大值和最小值,重新组装成<key,value>数据,输出到集群监控指标抽样表中,通过集群监控指标抽样表查询数据。优选的,上述的基于mapreduce技术的集群监控原始数据抽样计算和存储方法中,s1.获取集群监控采集指标模板数据中,从mysql关系型数据库获取集群监控采集指标模板数据。优选的,上述的基于mapreduce技术的集群监控原始数据抽样计算和存储方法中,s2.进行集群监控采集指标模板数据与集群监控指标原始数据抽样计算,并将计算结果处理输出到集群监控指标抽样表中,包括s21.设置定时任务程序;s22.调用mapreduce程序进行抽样、对比计算;s23.计算结果重新组装成新的集群监控采集指标数据输出结果到hbase数据库中。优选的,上述的基于mapreduce技术的集群监控原始数据抽样计算和存储方法中,s22.调用mapreduce程序进行抽样、对比计算,包括编写一个分布式计算mapreduce程序,查询hbase存储的集群监控采集指标原始数据。优选的,上述的基于mapreduce技术的集群监控原始数据抽样计算和存储方法中,s3.通过集群监控指标抽样表查询数据,包括对集群监控指标抽样数据明确指标名,指定时间点的查询:对集群监控指标抽样数据明确指标名,指定时间段的查询;对集群监控指标抽样数据指定时间段的查询。优选的,上述的基于mapreduce技术的集群监控原始数据抽样计算和存储方法中,所述对集群监控指标抽样数据明确指标名,指定时间点的查询,包括通过hbase自身索引结构及算法,使用hbaseapi接口调用get方法根据rowkey获取一行数据。优选的,上述的基于mapreduce技术的集群监控原始数据抽样计算和存储方法中,所述对集群监控指标抽样数据明确指标名,指定时间段的查询,包括通过hbase自身索引结构及算法,使用hbaseapi接口调用scan方法根据startrow指定查询,获取符合目标要求的hbase一批数据。优选的,上述的基于mapreduce技术的集群监控原始数据抽样计算和存储方法中,所述对集群监控指标抽样数据指定时间段的查询,包括通过hbase自身索引结构及算法,使用hbaseapi接口调用scan方法根据timerange函数查询,获取获取目标要求的hbase一批数据。本发明还提供了一种用于实施上述的基于mapreduce技术的集群监控原始数据抽样计算和存储方法的系统。与现有技术相比,本发明的有益效果为:本发明方法采用mapreduce计算模型,实现集群监控采集的大数据抽样计算,并使用hbase存储集群监控指标抽样数据,解决了在大数据平台下原始数据查询慢的问题。附图说明为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。图1为本发明基于mapreduce技术的集群监控原始数据抽样计算和存储方法的一个具体实施例中,集群监控采集指标模板数据图表;图2为本发明方法的一个具体实施例中,hbase存储的集群监控采集指标原始数据图表;图3为本发明方法的一个具体实施例中,对集群监控指标原始数据抽样计算与存储的流程示意图;图4为本发明方法的一个具体实施例中,集群监控指标抽样表结构图表。具体实施方式下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。一种基于mapreduce技术的集群监控原始数据抽样计算和存储方法,包括:获取集群监控采集指标模板数据;进行集群监控采集指标模板数据与集群监控指标原始数据抽样计算,并将计算结果处理输出到集群监控指标抽样表中;通过集群监控指标抽样表查询数据。具体的,本发明方法给出的一个具体实施例中:s1.获取集群监控采集指标模板数据集群监控指标模板数据是根据业务需求定制的一些指标值,指标值可以动态扩展,存储在关系型mysql数据库中,如图1所示的。从关系型数据库把集群监控指标模板数据取出,将取出的指标模板数据分别放到各自的大数据平台计算节点上,可以用来和hadoop平台下hbase存储的集群监控采集指标原始数据(如图2所示的)做分析,对比,过滤等操作。s2.进行集群监控采集指标模板数据与集群监控指标原始数据抽样计算,并将计算结果处理输出到集群监控指标抽样表中;参考图3所示,通过集群监控指标抽样表查询集群监控数据为了提高大数据环境下的hadoop指标响应速度,降低资源使用量,满足大数据环境下集群监控采集的数据应用,需要实现一个定时任务,远程运行hadoop平台下的mapreduce程序,启动作业调度,根据集群监控采集的指标模板数据和hbase存储的集群监控采集指标原始数据做对比,抽样计算,计算的结果重新组装成新的集群监控采集指标数据输出到hbase抽样表中。具体的,包括:s21.设置定时任务程序;设置一个定时任务程序,其中包括定时任务执行时间(每小时执行一次抽样),远程调用mapreduce程序。s22.调用mapreduce程序进行抽样、对比计算;编写一个分布式计算mapreduce程序以供调用,查询hbase存储的集群监控采集指标原始数据,使用hbase自带mapreduce的api接口实现数据组装,传递,调用等操作;使用样例:protectedvoidmap(immutablebyteswritablekey,resultvalue,contextcontext);运行所述mapreduce程序,启动作业调度后,在map阶段把获取到的集群监控采集指标原始数据:首先过滤掉错误数据,然后根据集群监控采集指标模板数据和集群监控采集指标原始数据做对比,把符合的数据筛选出来,按一小时两个数据点,分成若干个数据集,生成新的<key,value>数据,输出到reduce阶段;reduce阶段:遍历map阶段输出的若干数据集,对每一类指标值的数据集进行汇总总量,求平均,计算最大值,最小值等指标值。s23.计算结果重新组装成新的集群监控采集指标数据输出结果到hbase数据库中。将s22.中计算出的平均值、最大值、最小值等指标值,组装成新的<key,value>数据,输出到hbase的集群监控指标抽样表中,如图4所示的。本发明方法将总体的采样数据按数据集排序成n个部分,再从每个部分取出指标值数据计算最大值,最小值,平均值组成新的监控指标样本数据、转换成适合分布式数据库hbase存储的格式,采用批量导入数据的方式将数据装载到分布式数据库hbase中,再根据hbase特性查询抽样数据响应到web页面上,很好的解决了在大数据hadoop平台下检索数据性能问题。因而,本发明方法还包括步骤s3.从集群监控指标抽样表中查询集群监控指标抽样数据;集群监控指标抽样数据查询可以归为四种:查询明确指标值指定时间点的集群监控抽样数据,查询明确指标的指定时间段的集群监控指标抽样数据,查询某一列簇的指定时间段的集群监控指标抽样数据,以及查询指定时间段的所有集群监控指标抽样数据。则本步骤包括a)集群监控指标抽样数据明确指标名,指定时间点的查询:通过hbase自身索引结构及算法,使用hbaseapi接口调用get方法根据rowkey获取一行数据,毫秒级响应数据。b)集群监控指标抽样数据明确指标名,指定时间段查询通过hbase自身索引结构及算法,使用hbaseapi接口调用scan方法根据startrow指定查询,获取目标要求的hbase一批数据,数据毫秒级范围内响应。c)集群监控指标抽样数据指定时间段的查询(用于对某一列簇或所有集群监控指标抽样数据的查询)通过hbase自身索引结构及算法,使用hbaseapi接口调用scan方法根据timerange函数查询,获取获取目标要求的hbase一批数据,数据秒级范围内响应。本发明方法通过使用hbase存储集群监控指标抽样数据,存储速度快;能够实现不影响监控指标查询业务场景的前提下,集群监控指标原始数据做迁移,从而减少存储空间;监控数据的查询可以通过集群监控指标抽样表中获取,大大提高查询性能。本发明还提供了一种系统,用于实施上述基于mapreduce技术的集群监控原始数据抽样计算和存储方法的任一或全部实施例;该系统包括计算机以及在计算机可读介质上编写的计算机程序,以使得系统能够通过计算机程序实现本发明方法中的上述步骤和功能,计算机程序实现的原理请参见上述关于本发明方法的描述,此处不再赘述;其中计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何适合形式的编程语言(包括编译语言或解释语言)来编写,并且计算机程序可以用任何形式来部署,包括作为独立程序或者作为模块、部件、子例程或者适合在计算环境中使用的其他单元。计算机程序可以被部署成在一个计算机上来执行,或者在位于一个站点处或分布在多个站点处且通过通信网络互连的多个计算机上来执行。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1