1. 程式人生 > >ambari自定義服務(二)metainfo.xml說明

ambari自定義服務(二)metainfo.xml說明



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