版本信息:
- 操作系统:centos7
- ambari版本信息:ambari-2.7.4
- ambari源码下载:http://archive.apache.org/dist/ambari/ambari-2.7.4/apache-ambari-2.7.4-src.tar.gz
Ambari自定义stack
自定义stack代码在ambari-common模块的pluggable_stack_definition目录下
-
ambari-common目录结构:
-
自定义文件解释:
- configs/ODP.json ambari自定义生成ODP的stack文件
- resource/ODP/custom_stack_map.js 生成对应版本的stack
-
自定义YDP.json文件
{
"stackName": "YDP",
"baseStackName": "HDP",
"performCommonReplacements": true,
"textReplacements": [
["ydp-select", "distro-select"]
],
"uiMapping": [
{
"stackVersionNumber": "1.0",
"sign": "=",
"baseStackFolder": "HDP2"
}
],
"ambariProperties": {
"jdk.download.supported" : "false",
"jce.download.supported" : "false",
"jdk1.7.url" : "http://DOWNLOAD_NOT_SUPPORTED",
"jdk1.8.url" : "http://DOWNLOAD_NOT_SUPPORTED",
"jdk1.7.jcpol-url" : "http://DOWNLOAD_NOT_SUPPORTED",
"jdk1.8.jcpol-url" : "http://DOWNLOAD_NOT_SUPPORTED"
},
"versions": [
{
"version": "1.0",
"baseVersion": "2.0.6",
"active": "true",
"family": "redhat6,redhat7,suse11",
"services": [
{
"name": "ZOOKEEPER"
}
]
}
]
}
- 自定义resource/YDP/custom_stack_map.js
module.exports = [
{
"stackName": "YDP",
"stackVersionNumber": "1.0",
"sign": "=",
"baseStackFolder": "HDP2"
}
];
- 执行自定义生成stack脚本
python GenerateStackDefinition.py -c ./configs/YDP.json -r ../../../../../ambari-server/src/main/resources/ -o ./YDP
修改pluggable_stack_definition/YDP/stacks/YDP/1.0/properties下面stack_*json文件,替换HDP字样为YDP
拷贝pluggable_stack_definition/YDP/stacks YDP文件夹到 apache-ambari-2.7.4-src/ambari-server/src/main/resources/stacks/ 路径下
cp -r YDP /opt/workspace/apache-ambari-2.7.4-src/ambari-server/src/main/resources/stacks/
- 修改 apache-ambari-2.7.4-src/pom.xml(修改发布stack名称为YDP)
整体编译打包,安装,结束…
ambari 二次开发参看链接https://blog.csdn.net/ZYC88888/article/details/116496591



