007-Ambari二次开发之栈名修改

在介绍如何修改栈名称之前,我们先要了解一下stack的相关概念及在什么情况下需要修改栈名称。
扫描二维码,关注BearData,获取最新文章
这里写图片描述
Ambari-stack 表示HDP的某个发行版本,例如HDP-1.0.0,在用ambari创建一个集群时,首先要通过调用restfulAPI设置stack版本
stack下包含一个或多个service,例如HDP-2.6.2下包括 ZOOKEEPER,HDFS,YARN等
单个service下通过配置service下的metainfo.xml来设置构成服务的component(组件)以及部署组件的部署脚本、运行组件的角色名称、部署脚本的文件名称、部署脚本的语言种类等信息
stack下package/script/ 存放agent操作相关component(组件)的脚本,ambari-agent会根据脚本的函数名称调用脚本的对应函数
stack版本可以通过metainfo.xml设置继承关系。例如HDP-2.6继承了HDP-2.5的各个服务
使用场景:当我们需要构建属于自己版权的数据平台,定制化数据平台或数据平台作为产品时,修改栈名是有必要的。
Ambari源码中为我们提供了修改栈名的脚本
这里写图片描述
所有的代码都在ambari-common模块的pluggable_stack_definition目录下
configs目录下是用来定义栈名称,继承关系,栈中所包含的service等
resources目录,自定义栈名目录,cust_stack_map.js配置自定义栈名的版本范围,custom-ui.less和custom-admin-ui.css配置样式
GenerateStackDefintion.py是用来生成新栈的主脚本
执行命令 python GenerateStackDefintion.py -c ./configs/BDP.json -r ../../../../../ambari-server/src/main/resources/ -o ./BDP
参数说明: -c 表示指定的皮遏制文件 -r 表示指定的resource目录 -o 表示输出目录

我们以生成BDP(Bear data platform)为例来说明如何生成新栈
1. 在configs目录下新建BDP.json,并配置版本,版本依赖,包含的service
这里写图片描述
2. 在resource 目录下新建BDP目录,在custom_stack_map.js中配置版本信息,最小版本,最大版本
这里写图片描述
3. 执行生成脚本
这里写图片描述
4. 将生成的BDP目录拷贝到ambari-server 模块的 resource/statcks目录下,重新编译,打包,安装

以上就是Ambari中如何修改栈名,下一篇我们将介绍如何在Ambari中添加自定义组件。

猜你喜欢

转载自blog.csdn.net/zhangxiongcolin/article/details/82011044
今日推荐