通常,我们在自定义服务集成开发中,会将集成服务的代码项目放置到 /var/lib/ambari-server/resources/stacks/HDP/

以上方式是适合开发模式的,当集成服务开发、测试、封版之后,不能满足一键部署要求。
对于未受 ambari 界面管理的服务,比如 Flink、Kylin、甚至是一个 jar 包,都可以利用 自定义服务集成相关技术 将 服务 集成到 ambari 界面里,可以通过 ambari 实现对 自定义服务 的 安装、配置、启动、监听启动状态、停止、指标监控、告警、快速链接 等很多操作,极其方便。
①将自定义服务放到指定目录下
核心:将python 开发的自定义服务脚本放到 /var/lib/ambari-server/resources/stacks/HDP 目录下
结果如下

②重启ambari server添加服务
③保存相关数据

①metainfo.xml文件:描述了对整个项目的约束配置,是自定义服务的核心文件
②configuration 目录:里面放置一个或多个 xml 文件,用于将该服务的配置信息展示在前端页面,也可以在ambari 页面上对服务的一些配置做更改
③package 目录:里面包含 scripts 文件夹,该目录下存放着 python 文件,用于对服务的安装、配置、启动、停止等操作。自定义服务 python 脚本依赖的模块是 resource_management 。
④alerts.json 文件:描述 ambari 对服务的 告警 设置。告警类型有 WEB、Port、Metric、Aggregate 和 Script
⑤quicklinks.json 文件:用于生成快速链接,实现 url 的跳转,可支持多个 url 展示。
⑥role_command_order.json 文件:决定各个服务组件之间的启动顺序