关于ambari二次开发-集成自定义组件的一些理解

目前网上对于ambari的二次开发详细的说明太少,我也不知道怎么可以讲清楚。因为目前我也不是很理解这其中的原理,作为对于自己的一个锻炼,先写一篇博客作为一个先导。

1. 集成组件的简单介绍:

我们看到ambari在大数据的平台搭建上可以做到一键部署,十分的方便。但是在对于其提供的软件和组件之外的一些软件(例如tomcat),其并没有提供支持(一键部署与监控)。我之前的《hdp和ambari版本速查》博客中写过,你可以查询到你所安装的hdp版本所支持的组件。

  • 下图是我集成了tomcat后在ambari上的大致显示:

  • 其代码大致结构,如下:

2. 快速上手:

  • 在你安装ambari-server的主机上,进入以下的文件夹,你会发现:

这里有很多栈的版本,在之前安装ambari时,我们是都已经选择过对应的栈的版本。

  • 进入对应的栈后,我们会发现这其中的大致结构:

这是我自己集成的tomcat的大致结构。主要分为四大部分,下面我会详细介绍下。

2.1、configuration文件夹:

  • configuration文件夹里主要是xml文件。这里面体现在ambari前端界面就是,你可以自定义自己的配置信息,如下图所示:

2.2、metainfo.xml文件:

  • 描述了对整个项目的约束配置,是一个 核心 文件。也就是你整个服务的安装需要服从该文件里面的配置。

2.3、package文件夹:

  • 该文件夹里面主要是python代码。用来控制组件的安装,启动,暂停等一些生命周期的操作。其原理是python控制shell脚本来操作。

2.4、quicklinks文件夹:

  • 这里面是一个json文件,用来控制跳转的。也就是图片中对应的这个功能。

3. 怎么部署服务?

这一步很简单,当你写好代码后,主要是将整个代码的文件夹,放入到对饮的栈文件夹下,之后重启ambari server服务。若报错,请连其他节点的ambari agent服务一起重启。

  • 在界面的add service 上就可以快速部署你的服务了:

参考:

https://cwiki.apache.org/confluence/display/AMBARI/Ambari

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信