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:包含配置屬性的數據字典