配置文件metainfo.xml声明性定义Ambari服务。这是服务定义最关键的文件。下面说明metainfo.xml各部分的作用。
描述服务<service>的字段包括:
属性 | 描述 |
---|---|
name | 服务名,必须唯一 |
displayName | 服务在web UI上的显示名 |
extends | 继承以前的版本 |
version | 服务版本,用name和version唯一标记一个服务,通常是服务二进制文件的版本 |
quickLinksConfigurations-dir | 存放快速链接定义文件的目录,默认是quicklinks |
quickLinksConfigurations/quickLinksConfiguration/ | |
filename | 快速链接json文件名 |
components | 服务包含的组件 |
osSpecifics | 服务特定操作系统的包 |
CommandScript(可选) | 配置 service check 脚本入口,如果一个 Service 的 metainfo.xml 有该字段,那么在 Service 的 Action 列表中就会出现“Run Service Check”这个命令。 |
comment(可选) | 服务的描述 |
requiredServices:(可选) | 集群上需要的其他服务 |
configuration-dependencies(可选) | 该字段就是用来关联一个 Service 与配置项文件入口。Ambari 支持 xml 和 json 格式的配置文件。 |
service/components: 一个服务包含几个组件。
component的字段如下:
属性 | 说明 |
---|---|
name | 组件名 |
displayName | 组件显示 |
category | 组件类型 - MASTER, SLAVE和CLIENT |
commandScript | 实现组件命令的脚本 |
cardinality | 允许/需要的实例数量 |
versionAdvertised(可选) | 是否宣称版本,用于回滚和升级 |
timelineAppid(可选) | 存储metric数据的默认类型 |
dependencies(可选) | 组件依赖的组件 |
customCommands(可选) | 标准命令之外自定义的命令 |
configFiles | 客户端配置可以下载的配置文件 |
service/osSpecifics: 操作系统特定包名 rpm或deb包
属性 | 描述 |
---|---|
osFamily | 包适用的操作系统 |
packages | 部署服务需要的包 |
package/name | 包名,被yum/zipper/apt适用 |
service/component/customCommand -添加到组件的自定义命令
属性 | 描述 |
---|---|
name | 自定义命令名称 |
commandScript | 实现自定义命令的脚本 |
commandScript/script | 脚本路径 |
commandScript/scriptType(可选) | 脚本类型,目前只支持python |
commandScript/timeout(可选) | 自定义命令超时时间 |
service/component/configFiles – 客户端配置可以下载的配置文件
type: 生成文件类型, xml or env sh, yaml, etc
fileName: 生成的文件文件名
dictionary:包含配置属性的数据字典