Metainfo.xml声明性定义Ambari服务。这是服务定义最关键的文件。下面说明Metainfo.xml各部分的作用。
描述服务的字段包括:
属性
描述
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:包含配置属性的数据字典