一种大数据集群的信息存储查询方法及系统的制作方法

文档序号:9922093阅读:459来源:国知局
一种大数据集群的信息存储查询方法及系统的制作方法
【技术领域】
[0001]本发明涉及大数据信息技术领域,具体涉及一种大数据集群的信息存储查询方法及系统。
【背景技术】
[0002]大数据是规模非常巨大和复杂的数据集,具有以下几个特性:一是数据量巨大且持续快速增加;二是具有高速度的数据输入、输出流;三是数据类型和来源多样化。在数据量庞大且急剧增加、日常业务分析需求日趋复杂的背景下,数据梳理过程和信息挖掘过程十分复杂,且对数据展现的速度、维度、精细度要求较高,传统数据处理方法的实时性、高效性和交互性已经不能适应目前的需求。为此,海量的数据的汇总、存储、历史信息查询等方面都需要新的大数据处理技术。
[0003]目前,对于大数据系统(Hadoop生态)服务器集群信息的统计分析及汇总大多数采用人工汇总的方式,如人工执行各种命令或者借助监控界面等来得到需要的信息。针对集群运行的历史信息,一般取决于人的记忆,少有专门进行存储并分析。只有为数不多的如Cloudera Manager(简称CM)支持历史集群运行信息的查询。
[0004]然而,因服务器较多,部署软件种类较多以及规模较大,统计汇总并分析整个集群的信息工作量很繁重,使用人工汇总的方式步骤繁琐、耗费工时、效率低下。且可查询的信息时效性过低,历史信息难以查询。对于可支持查询历史信息的CM,只能支持I个月的历史信息查询,并且不能自定义查询自己想要的类型数据,展示信息量少。

【发明内容】

[0005]本发明要解决的技术问题是:解决现有技术中的主要采用人工汇总的方式,且难以查询集群的历史信息的问题。
[0006]为实现上述的发明目的,本发明提供了一种大数据集群的信息存储查询方法及系统。
[0007]依据本发明的第一方面,提供了一种大数据集群的信息存储查询方法,包括:
[0008]自动定期获取大数据集群的运行数据,解析所述运行数据并存储;
[0009]根据查询要求,在所述存储的运行数据中查找并展示相应的所述运行数据;
[0010]其中,所述查询要求包括:实时数据查询要求、历史数据查询要求、自定义数据查询要求。
[0011 ]优选地,所述自动定期获取大数据集群运行数据,为通过至少一个接口自动定期获取所述运行数据;
[0012]其中,从不同所述接口获取的所述运行数据的数据格式不同。
[0013]优选地,所述解析所述运行数据,包括:
[0014]根据所述运行数据的数据格式,过滤掉所述运行数据中不需要的数据,得到过滤后的运行数据;
[0015]在所述过滤后的运行数据中提取有效字段。
[0016]优选地,所述解析所述运行数据之后,还包括对所述运行数据进行序列化存储。
[0017]优选地,所述历史数据查询要求,包括:
[0018]按时间段查找相应所述运行数据的查询要求;或,
[0019]按历史信息时间轴查询相应所述运行数据的查询要求。
[0020]优选地,所述历史信息时间轴的长度根据存储能力而定。
[0021]优选地,所述自定义数据查询要求,为通过结构化查询语言编辑的自定义数据查询要求。
[0022]优选地,还包括,对所述自定义数据查询要求进行解析。
[0023]优选地,所述展示相应的所述运行数据,是通过图表来展示的。
[0024]依据本发明的第二方面,提供了一种大数据集群的信息存储查询系统,其特征在于,应用上述的信息存储查询方法,包括:
[0025]获取单元:用于获取所述运行数据;
[0026]数据处理单元:用于解析所述运行数据;
[0027]数据库单元:用于存储所述解析后的运行数据;
[0028]查询单元:根据所述查询要求,在数据库单元中查询相应的所述运行数据;
[0029]展示单元:用于展示所述相应的运行数据;
[0030]其中,当所述查询要求为所述自定义数据查询要求时,所述系统还包括自定义解析单元,用于解析所述自定义数据查询要求。
[0031]本发明提供了一种大数据集群的信息存储查询方法及系统。该方法包括:对获取的大数据集群运行数据进行解析,并存储在数据库中,再根据查询要求在数据库中查找并展示相应的运行数据。相比于现有技术,本发明提供的方法实现了自动对大数据集群运行数据的汇总,支持某一时间段、历史时间轴或自定义的实时数据以及历史数据的查询,并通过图表的方式清晰的展示查询结果。方法步骤简单、无需耗费人力、效率高,且通用性强,只需简单配置即可应用在大多数大数据集群上。
【附图说明】
[0032]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0033]图1是本发明第一实施例提供的大数据集群的信息存储查询方法流程图;
[0034]图2是本发明第一实施例提供的通过JMX接口获取数据示意图。
【具体实施方式】
[0035]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0036]实施例一
[0037]如图1所示,本实施例提供了一种大数据集群的信息存储查询方法,包括:
[0038]SlOl、获取大数据集群的运行数据。具体说明如下:
[0039]本实施例优选地基于Python编程语言定期获取大数据集群的运行数据,优选地主要获取的是Hadoop生态集群的运行数据。
[0040]需要说明的是,Hadoop为一个分布式文件系统(Hadoop Distributed FileSystem),简称HDFSt3HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
[0041 ]其中,获取运行数据的方法优选地包括:
[0042]通过Hadoop内部的 Java管理扩展接口(即 JMX接口,Java ManagementExtens1ns)获取运行数据。如HDFS JMX接口、HBASE JMX接口以及YARN JMX接口等等。如图2所示,图2上方的地址为JMX接口的地址,下方的程序为从该JMX接口获取的数据。
[0043]或通过Flume me tries接口以及Kafka metrics接口获取。(Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统;kafka是显式分布式架构);
[0044]或通过Linux She 11脚本命令来获取。
[0045]需要说明的是,由于本实施例提供的数据获取方法为Hadoop环境通用的方法,因此对于不同的Hadoop环境(如Cloudera开发的⑶H、Pi votal开发的PHD或者Apache的开源Hadoop等)只需要对程序进行一些通用的配置,如机器的IP地址、主机名、内存大小、磁盘路径等,即可使用本实施例提供的数据获取方法。
[0046]S102、对获取的数据进行解析序列化。
[0047]由SlOl步骤可知,对于运行数据的获取有多种方法,因此获取后的数据也有多种格式。如通过Hadoop内部JMX接口获得的运行数据为j son (JavaScript Object Notat1n)格式;通过Linux Shell脚本命令获取的数据为普通的字符串数据。因此本步骤对于多种格式的数据进行解析,具体子步骤如下说明:
[0048]S1021、根据运行数据的数据格式,过滤掉所述运行数据中不需要的数据,得到过滤后的数据。
[0049]下面举例说明如何过滤不需要的数据。通过运行linuxshell命令获得的运行数据为:
[0050][Hadoopim4monitor]$Hadoop job-list
[0051]ljobs currently running
[0052]JobId State StartTime UserName Pr1rity SchedulingInfo
[0053]job_201509081430_002841442471173877Hadoop NORMAL NA
[0054]其中,只有最后两行的数据需要存储,其余信息(如权限、起始时间等)为不需要的数据,因此只保留最后两行数据。
[0055]S1022、在所述过滤后的数据中提取有效字段。
[0056]经过S1021步骤过滤后的数据为:
[0057]job_201509081430_0
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1