大数据平台的健康度管控方法、装置、介质及电子设备与流程

文档序号:15829055发布日期:2018-11-03 00:16阅读:255来源:国知局

本发明涉及数据管理技术领域,具体而言,涉及一种大数据平台的健康度管控方法、装置、可读介质及电子设备。

背景技术

目前很多中大型企业基于hadoop(一种分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储)技术生态系统建设了大数据平台与云平台,以便于掌握此类平台的底层软硬件、平台资源队列、平台计算与存储等方面是否合理高效运行。

现有的hadoop技术生态系统中普遍采用各类hadoop服务器运维管理系统等静态数据形式,采用人工方式记录每台hadoop服务器或客户端机器的运行情况,其预警和管控也均是针对单个服务器或客户端级别来实现,例如采用人工在集群后台各服务器或客户端修改相关配置文件形式。并且只能通过查看集群队列内存资源使用、存储资源使用等单一指标形式查看集群运行情况,采用针对个别特定指标的阈值预警,集群整体健康情况不够准确。

由于没有集群健康度指标体系规划,因此没有相配套的健康度综合管控机制。因此,需要一种新的大数据平台与集群健康度的管控方法及装置。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本发明的目的在于提供一种大数据平台的健康度管控方法、装置、可读介质及计算设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。

本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。

根据本发明的第一方面,提供了一种大数据平台的健康度管控方法,包括:获取大数据平台的健康度指标体系,所述健康度指标体系包含用于衡量所述大数据平台的健康度的至少一类指标;根据所述至少一类指标中每类指标的各个指标值,计算所述每类指标的健康度;根据所述每类指标的健康度,计算所述大数据平台的总体健康度。

在本发明的一些实施例中,基于前述方案,计算所述每类指标的健康度的步骤,包括:确定所述每类指标的各个指标值的权重;根据所述各个指标值的权重,对所述各个指标值进行加权求和计算,得到所述每类指标的健康度。

在本发明的一些实施例中,基于前述方案,计算所述大数据平台的总体健康度的步骤,包括:确定所述每类指标的权重;根据所述指标的权重,对所述至少一类指标进行加权求和计算,得到所述大数据平台的总体健康度。

在本发明的一些实施例中,基于前述方案,还包括:基于可视化界面展示所述每类指标的各个指标值。

在本发明的一些实施例中,基于前述方案,基于可视化界面展示所述每类指标的各个指标值的步骤,包括:配置报表模板;基于所述报表模板展示所述每类指标的各个指标值。

在本发明的一些实施例中,基于前述方案,还包括:基于所述总体健康度和预设的健康度阈值,对所述大数据平台进行预警。

在本发明的一些实施例中,基于前述方案,还包括:每经过预定时长,均再次计算所述大数据平台的总体健康度。

在本发明的一些实施例中,基于前述方案,还包括:保存每次计算得到的所述大数据平台的总体健康度;基于保存的每次计算得到的所述大数据平台的总体健康度,对所述大数据平台的总体健康度进行统计分析。

在本发明的一些实施例中,基于前述方案,所述至少一类指标包括:所述大数据平台的存储使用情况、所述大数据平台的计算资源使用情况、所述大数据平台的job执行情况。

根据本发明的第二方面,提供了一种大数据平台的健康度管控装置,包括:获取单元,用于获取大数据平台的健康度指标体系,所述健康度指标体系包含用于衡量所述大数据平台的健康度的至少一类指标;第一计算单元,用于根据所述至少一类指标中每类指标的各个指标值,计算所述每类指标的健康度;第二计算单元,用于根据所述每类指标的健康度,计算所述大数据平台的总体健康度。

根据本发明的第三方面,提供了一种可读介质,其上存储有程序,该程序被处理器执行时实现如上述第一方面所述的大数据平台的健康度管控方法。

根据本发明的第四方面,提供了一种电子设备,包括:处理器和存储器,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如上述第一方面所述的大数据平台的健康度管控方法。

在本发明的一些实施例所提供的技术方案中,通过根据大数据平台的健康度指标体系中的至少一类指标中每类指标的各个指标值,计算每类指标的健康度,并根据每类指标的健康度,计算大数据平台的总体健康度,使得能够掌握每类指标的健康度,以及大数据平台的总体健康度,从而为大数据平台的运行和管控提供直观的数据化决策支持。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示意性示出了根据本发明的一个实施例的大数据平台的健康度管控方法的流程图;

图2示意性示出根据本发明一实施例中hadoop集群与大数据平台产品架构的示意图;

图3示意性示出根据本发明一实施例中集群健康度的uml类图;

图4示意性示出了根据本发明的一个实施例的大数据平台的健康度管控装置的框图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

图1示意性示出了根据本发明的一个实施例的大数据平台的健康度管控方法的流程图。

参照图1,根据本发明的一个实施例的大数据平台的健康度管控方法,包括:

步骤s102,获取大数据平台的健康度指标体系,所述健康度指标体系包含用于衡量所述大数据平台的健康度的至少一类指标。

根据本发明的示例性实施例,所述至少一类指标包括:所述大数据平台的存储使用情况、所述大数据平台的计算资源使用情况、所述大数据平台的job执行情况。

步骤s104,根据所述至少一类指标中每类指标的各个指标值,计算所述每类指标的健康度。

根据本发明的示例性实施例,步骤s104中计算所述每类指标的健康度的步骤,包括:确定所述每类指标的各个指标值的权重;根据所述各个指标值的权重,对所述各个指标值进行加权求和计算,得到所述每类指标的健康度。

步骤s106,根据所述每类指标的健康度,计算所述大数据平台的总体健康度。

根据本发明的示例性实施例,步骤s106中计算所述大数据平台的总体健康度的步骤,包括:确定所述每类指标的权重;根据所述指标的权重,对所述至少一类指标进行加权求和计算,得到所述大数据平台的总体健康度。

在本发明的一些实施例中,基于前述方案,还包括:基于可视化界面展示所述每类指标的各个指标值。

根据本发明的示例性实施例,基于可视化界面展示所述每类指标的各个指标值的步骤,包括:配置报表模板;基于所述报表模板展示所述每类指标的各个指标值。

此外,在本发明的其它实施例中,也可以通过仪表盘、折线图、柱状图等图形化的可视界面来展示每类指标的各个指标值,以便于用户直观地进行查看。

在本发明的一些实施例中,基于前述方案,还包括:基于所述总体健康度和预设的健康度阈值,对所述大数据平台进行预警。比如,在大数据平台的总体健康度大于预设的健康度阈值时,进行报警提示。

在本发明的一些实施例中,基于前述方案,还包括:每经过预定时长,均再次计算所述大数据平台的总体健康度。比如,可以每天或每小时对大数据平台的总体健康度进行一次计算。

在本发明的一些实施例中,基于前述方案,还包括:保存每次计算得到的所述大数据平台的总体健康度;基于保存的每次计算得到的所述大数据平台的总体健康度,对所述大数据平台的总体健康度进行统计分析。比如可以进行同比、环比分析等。

以下以hadoop大数据平台为例,对本发明实施例的技术方案进行详细说明:

如图2所示为本发明实施例的hadoop集群与大数据平台产品架构的示意图,具体包括数据存储层、数据处理层、数据访问层和大数据平台层。底层为hdfs(hadoopdistributedfilesystem,hadoop分布式文件系统)数据存储层;中间为yarn(yetanotherresourcenegotiator,另一种资源协调者)资源管理、mapreduce(一种编程模型)与spark(一种开源计算环境)等数据处理层;之后是udf(universaldiscformat,统一光盘格式)、hive(基于hadoop的一个数据仓库工具)、shark(一种加密法前身的区块加密)等数据访问层;顶层为大数据平台产品,如任务调度平台、数据开发平台、bi(businessintelligence,商务智能)分析平台等。其中hadoop的框架最核心的设计是hdfs和mapreduce,hdfs为海量的数据提供了存储,mapreduce则为海量的数据提供了计算。

另外,根据hadoop集群与大数据平台产品架构组成,针对平台范围和平台特征,结合hadoop集群的队列和资源情况,本实施例还设计和规划出hadoop集群和平台的健康度指标体系架构。本发明实施例中的大数据集群健康度指标体系包括基础数据和健康度指标体系。

基础数据包括存储资源主题、计算资源主题和job主题的数据,存储资源主题的数据包括存储指标和维度两方面,存储指标包括hdfs存储空间配额、已用存储大小、文件数、文件平均大小、小文件数、冷数据大小、热数据大小、block的数量和block的大小,维度包括按日、周、月统计增量的时间维度、集市和文件类型。计算资源主题的数据包括计算资源指标和计算资源维度,计算资源指标包括分配内存、占用内存、分配核数、占用核数和job数量,计算资源维度包括按日、周、月统计增量的时间维度、任务状态(其粒度有问题的删除)集市和队列。job主题的数据包括job指标和job维度,job指标包括job运行时长、map数、reduce数、map阶段耗时、reduce阶段耗时、map阶段消耗cpu时间、reduce阶段消耗cpu时间、map阶段消耗内存、reduce阶段消耗内存、map阶段所读入hdfs文件系统字节数、reduce阶段消耗所读入hdfs文件系统字节数、mr阶段读入hdfs总字节、map阶段所写入hdfs文件系统字节数、reduce阶段所写入hdfs文件系统字节数、mr阶段写入hdfs总字节、map读hdfs的次数、reduce读hdfs的次数、mr读取hdfs次数、map写入hdfs的次数、reduce写入hdfs的次数和mr写入hdfs次数,job维度包括集市、队列、提交人erp、客户端id和job完成状态。

健康度指标体系包括集市hdfs存储健康度、集市计算健康度和集市job健康度,这三个健康度指标均是复合指标。其中集市hdfs存储健康度包括统计指标和纬度两方面,指标包括空间使用率、小文件比率和冷热数据比率。纬度包括按日统计的时间维度和集市(其中一成员为所有集市)。集市计算健康度包括指标和纬度两方面,指标包括内存饱和时长比率、cpu饱和时长比率、内存空闲时长比率、cpu空闲时长比率和jobpening比率,纬度包括按日统计的时间维度和集市(其中一成员为所有集市)。集市job健康度包括指标和纬度两方面,指标包括job运行时长分布、job运行资源分布、job运行io读写量分布和job运行io读写次数分布,具体的,基于job运行时长进行job运行时长分布的统计,基于job内存资源使用数量进行job运行资源分布的统计,基于mr阶段读入hdfs总字节和mr阶段写入hdfs总字节进行job运行io读写量分布的统计,基于mr读取hdfs次数和mr写入hdfs次数进行job运行io读写次数分布。纬度包括按日统计的时间维度、集市(其中一成员为所有集市)和渠道(包括ide、调度、cu和其他)。

根据本发明上述实施例的大数据集群与平台健康度体系,可以实现整个集群的健康度指标体系,也可以根据上述指标层级构成、各平台的健康度,通过如下算法实现整个集群和平台的健康度。

假设由n类大数据平台与集群的健康度分类构成,每类的健康度指标权重为wn,每类健康度中有i个指标x,则通过加权wi求和计算出该单一类的大数据平台与集群健康度=σ(xi*wi),进一步计算得到大数据平台与集群总体健康度=σ(σ(xi*wi)*wn),其中i大于或等于1。

其中大数据平台和集群的健康度每类权重(简称类权重),按照该类别的影响程度、影响范围、是否可控、出现频率等因素综合分配;每类健康度构成的指标的权重(简称指标权重)与上述类似,也是由指标的影响程度、影响范围等因素综合分配。类权重和指标权重这两类权重,可以在web可视化功能中进行权重灵活配置。

图3示出本发明实施例中集群健康度的uml(unifiedmodelinglanguage)类图,其中uml又称统一建模语言或标准建模语言,是始于1997年一个omg标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。

如图3所示,本发明实施例中集群健康度的uml包括:基础数据(包括维度基础数据和指标基础数据)、健康度分类、大数据平台健康度和大数据平台健康预警。

其中,纬度基础数据(class_basic_data_dim)可以实现对纬度基础数据信息的读写操作,包含纬度id、纬度名称、纬度描述等信息。指标基础数据(class_basic_data_index)可以实现对指标基础数据信息的读写操作,包含指标id、名称、指标值、指标权重等属性信息。健康度分类(class_hadoop_healthtype)可以实现对每类健康度的加权计算方法。bdp(bigdataplatform大数据平台英文简称)健康度(class_hadoop_bdp),可以实现每天或每小时计算一次hadoop平台和集群的健康度综合加权计算,并保留历史变化轨迹,提供同比、环比等功能。bdp健康预警(class_hadoop_bdp_warning)可以在大数据平台与集群健康度计算结果基础上,根据预警阈值范围和预警信息模板来触发短信、邮件等预警信息。

可见,基于得到的大数据平台与集群总体健康度,还可以对大数据平台进行管理、监控和预警,这一部分功能可以基于java功能模块来完成。

需要说明的是,在本发明的实施例中,管理功能包括资源管理、数据管理和预警管理。资源管理可以实现集群资源队列的拆分管理、队列资源参数调整管理、队列用户权限管理。该功能通过java程序与yarn资源管理结合实现。数据管理可以实现用户在集群上hdfs文件目录的注册和保护,采用java与hdfs系统权限管理机制结合实现;通过接受用户配置的hive表和hdfs目录的有效期信息,实现对hive表、hdfs目录的有效期控制(要求hive表和hdfs目录采用标准的目录规范)。预警管理可以实现对实时预警和离线预警的相关参数设置,如:预警阈值、预警形式、预警频率、预警人群等。在实现过程中采用java开发预警管理web界面和功能。

监控功能主要是进行监控与分析,通过java报表插件(如:jasperreports、ireport)开发监控和分析报表,对大数据集群的存储、计算、job情况进行监控和分析。其中jasperreport是一个强大、灵活的报表生成工具,是开放源代码组织sf.net中的一个java报表打印工程。能够展示丰富的页面内容,并将之转换成pdf,html,xml,excel(通过poi或jexcelapi实现)和rtf(通过poi实现)格式。ireport为开源组织sf.net中的一款免费软件,是为jasperreport设计的强大的、直观的、易于使用的可视化报表设计器,采用纯java开发。该工具允许用户可视化编辑包含charts、图片、子报表等的复杂报表。

在本发明的一个示例性实施例中,以jasperreports+ireport为例,说明监控与统计分析报表的实现方法:

在开源工具jasperreports和ireport下载安装后,将其jar包加入到javaclasspath下,然后使用ireport制定报表模板或者直接写jrxml文件,将jrxml文件编译后生成jasper模板文件。其次是填充数据,一般使用二种方式,一种方式是通过jdbc连接提供数据源,一种就是通过javabean的集合提供数据源,根据连接的数据源的情况可选上述之一来实现。最后,将jasperreport生成的文件直接显示出来,点击执行报表按钮。

预警功能包括实时预警和离线预警,实时预警可以采用java程序实时解析hadoop集群上的hdfs存储使用情况、解析yarn资源管理中的计算资源使用情况、解析集群jobhistory任务执行情况,然后按照健康度指标体系和算法进行健康度计算,结合预警管理中的预警阈值调用短信接口和邮件服务器接口进行实时预警。离线预警是指每日对前一周期的健康度指标进行短信、邮件预警的功能,可采用java程序触发短信接口、邮件发送接口来实现。

需要说明的是,本实施例在实现过程中可以采用各类编程语言实现,如:java、c#、c++、c等,也可以采用数据库中的存储过程或函数等形式将本发明中各个单元模块进行封装和实现。而人机交互窗口也不限于某一类型编程方式,可采用java、c#、c++、c等编程语言,也可采用各类数据库中的函数、存储过程等形式采用接口实现,因此所采用的语言并不做限定。

综上所述,本发明实施例提供的技术方案支持单一类和总体的健康度指标体系,支持大数据平台的健康度管控,如:任务调度平台、数据开发平台、bi统计分析平台,还支持大数据集群的健康度管控,如:hadoop集群资源队列、job执行时效、hdfs小文件、hdfs文件使用等。该方法采用指标加权求和以及单一类健康度加权求和的形式,能够最大化合理体系集群和平台的整体健康情况,同时本实施例采用实时健康度实时预警形式,能够在第一时间发现并处理集群的健康隐患,可以实现健康度预警的管理功能,并且在预警方式上支持短信与邮件两种预警通道,从而提供更加全面的保护。

图4示意性示出了根据本发明的一个实施例的大数据平台的健康度管控装置的框图。

参照图4,根据本发明的一个实施例的大数据平台的健康度管控装置400,包括:获取单元402、第一计算单元404和第二计算单元406。

具体地,获取单元402用于获取大数据平台的健康度指标体系,所述健康度指标体系包含用于衡量所述大数据平台的健康度的至少一类指标;第一计算单元404用于根据所述至少一类指标中每类指标的各个指标值,计算所述每类指标的健康度;第二计算单元406用于根据所述每类指标的健康度,计算所述大数据平台的总体健康度。

需要说明的是,上述大数据平台的健康度管控装置400中各模块/单元的具体细节已经在对应的大数据平台的健康度管控方法中进行了详细的描述,因此此处不再赘述。

此外,本发明的实施方式还提供一种电子设备,可以包括:处理器和存储器,其中,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如本发明上述实施例中所述的大数据平台的健康度管控方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备的处理器执行以完成在示例性实施例中的上述技术方案。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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