一种基于Ambari快速为第三方组件添加微件的方法与流程

文档序号:11154547阅读:1433来源:国知局

本发明涉及计算机软件应用技术领域,具体涉及一种基于Ambari快速为第三方组件添加微件的方法。



背景技术:

虽然大数据越来越流行,但其学习的门槛却一直阻碍着很多的分布式应用初学者或者大数据的业务应用开发者。多个产品之间的不兼容问题,快速集成和维护也显得比较困难。不管是Hadoop V1或者V2的安装,又或者Spark/YARN等的集成,都不是几行简单的命令可以完成的,而是需要手工修改很多的集群配置,这进一步增加了业务开发者的学习和使用难度。

Ambari作为一个系统庞大的平台组件,需要完善的监控体系来保障性能提升易用性,因此AMS体系尤为重要。Ambari Metrics System简称为AMS,它主要为系统管理员提供了集群性能的监察功能。

Metrics一般分为Cluster、Host以及Service三个层级。Cluster和Host级主要负责监察集群机器相关的性能,而Service级别则负责Host Component的性能。

Ambari现在已经支持高度的可配置化,但是对于第三方服务来说如何定义自己的监控组件,则需要开发者深入研究源码,学习与开发成本尤为巨大。

对于AMS本身来说,涉及的主要模块有Metrics Monitor、Hadoop Sinks以及Metrics Collector。AMS也是一个Master-Slave结构的框架。Master模块便是Metrics Collector,Slave模块则是Metrics Monitor和Hadoop Sinks。Salve模块负责收集信息,并发送给Collector。当然Metrics Monitor和Hadoop Sinks也有不同的职责,前者主要负责收集机器本身相关的指标,例如CPU、Mem、Disk等;后者则负责收集Hadoop相关Service模块的性能数据,例如该模块占用了多少Mem,以及该模块的CPU占用率等。

在Ambari 2.1之后的版本中(包含2.1)支持了配置化Widget的功能。Widget也就是Ambari Web中呈现Metrics的图控件,它会根据Metrics的数值,做出一个简单的聚合运算,最终呈现在图控件中。



技术实现要素:

本发明要解决的技术问题是:本发明针对以上问题,提供一种基于Ambari快速为第三方组件添加微件的方法,具体的说是一种实现对进入大数据集群二次开发方便调试的处理。

本发明所采用的技术方案为:

一种基于Ambari快速为第三方组件添加微件的方法,所述方法实现步骤如下:

1)定义第三方服务的metainfo.xml;

2)定义监控项相关文件metrics.json,为第三方服务的Master模块配置了metrics属性;

3)定义widget.json,预定义一个Graph类型的线性图,定义Widget绑定Metrics中的metrics属性,并直接使用该metrics属性的值作为其value属性;

4)第三方服务通过ambari web安装完成之后,就可以看到预定义的widget微件。

设置一个模块为第三方服务收集与发送Metrics数据。

通过聚合运算,Widget能够支持包含多个Host Component的Service。

相关的Metrics信息能在ambari的Component页面中查看。

所述聚合运算包括:max、min、avg、sum。

用户能够在widget的配置文件中选择聚合运算方式。

所述方法通过定义metrics属性的阈值,由微件动态的显示监控属性的变化情况。

本发明的有益效果为:

本发明方法可成功为第三方服务定制专属的的metrics属性,并由微件动态的显示监控属性的变化情况,从而可以很大程度的方便系统管理员完成相关的监测工作。

具体实施方式

根据具体实施方式对本发明进一步说明:

实施例1:

一种基于Ambari快速为第三方组件添加微件的方法,所述方法实现步骤如下:

1)定义第三方服务的metainfo.xml;

Metaindo.xml示例

2)定义监控项相关文件metrics.json;

定义如下:

如上代码为第三方服务的Master模块配置了4项metrics属性:test1、test2、test3以及test4;

3)定义widget.json,预定义一个Graph类型的线性图;

具体定义参考如下:

定义监控Widget绑定Metrics中的metrics属性(test1),并直接使用test1的值作为其value属性;

4)第三方服务通过ambari web安装完成之后,就可以看到预定义的widget微件,可以从Ambari Web中部署这个第三方服务到Ambari集群,安装完成之后便有监控微件显示,此时微件会显示没有可用的数据。

微件(Web widget,简称Widget),也就是Ambari Web中呈现Metrics的图控件,它会根据Metrics的数值,做出一个简单的聚合运算,最终呈现在图控件中。

实施例2

在实施例1的基础,本实施例设置一个模块为第三方服务收集与发送Metrics数据。可以通过一个简单的Shell脚本完成该功能。

发送metrics数据脚本

实施例3

在实施例2的基础,本实施例通过聚合运算,Widget能够支持包含多个Host Component的Service。

由于Widget只支持对Service Summary的定制,也就是说Widget只支持对Service Component Metrics属性的定制。然而同一个Service的Component可以由多个Host Component组成,那么Widget就必须经过某一种聚合运算才可以得到一个数值。

实施例4

在实施例3的基础,本实施例相关的Metrics信息能在ambari的Component页面中查看。

用户还可以在一部分Service的Summary页面中可以看到该Service相关的Metrics信息。目前,Ambari为YARN、HDFS以及Ambari Metrics等部分Service预定义了Metrics和Widget信息。

实施例5

在实施例3或4的基础,本实施例所述聚合运算包括:max、min、avg、sum。

Ambari为Widget组件提供了4中聚合方式,分别是max、min、avg、sum。简单来说:max就是Host Component收集的多个metrics属性的最大值;min是最小值;avg是平均值;sum则是求和。

实施例6

在实施例5的基础,本实施例用户能够在widget的配置文件中选择聚合运算方式。

Widget组件会以avg为默认的聚合方式。用户可以在widget的配置文件中重写该方式。

实施例7

在实施例6的基础,本实施例所述方法通过定义metrics属性的阈值,由微件动态的显示监控属性的变化情况。Warning的阀值为0.7,Error的阀值为0.9,也就是说当百分比大于70%小于90%,图的颜色会变成黄色,大与90%则会为红色,绿色为正常色。

实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

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