跳到主要内容
版本:3.1.0(预览)

编写 metainfo.xml

metainfo.xml 是声明式服务描述符。顶层 service 使用 namedisplayNameversion 标识服务,并描述 componentsosSpecificscommandScriptrequiredServicesconfiguration-dependencies 以及可选的 configuration-dir

组件

每个组件都有唯一的 name、显示名称、类别(MASTERSLAVECLIENT)和 cardinality。组件可以公布版本、允许重新分配、声明依赖、定义自定义命令,并提供专用脚本和日志。

命令和配置

commandScript 指定服务或组件操作使用的 Python 脚本和超时时间。configuration-dependencies 列出服务或组件所需的配置类型;依赖发生变化时,Ambari 可以将受影响的组件标记为需要重启。configFiles 标识生成的 XML、环境或 properties 文件及其字典名称。

软件包和平台

osSpecifics 将操作系统系列映射到部署服务所需的软件包。软件包名称由平台软件包管理器使用。服务还可以声明所需服务和依赖条件,包括集群或主机范围的依赖及自动部署行为。

生命周期

脚本实现组件生命周期。标准操作包括安装、启动、停止、状态和配置;customCommands 添加服务专用操作。versionAdvertised 标志告知 Ambari 组件是否参与面向版本的升级处理。

示例

描述符应专注于服务元数据和可执行契约。监控后端专用的遥测配置应放在 telemetry.json 中,同时保留 metrics.json 作为 Ambari 控制平面的指标契约。具体写法可参考当前的 BIGTOP HDFS metainfo.xml