metainfo.xml详解
metainfo.xml
定义了Ambari管理Service的一些配置内容,该文件对应Service定义起着至关重要的作用。
1 | <?xml version="1.0"?> |
1. 一级目录
Field | Usage |
---|---|
name | service的名称,该名称必须保障在stack services中是唯一的 |
displayName | 服务在web UI上的显示名 |
version | 该service的版本,版本和名称能够唯一的定义该service,通常该版本为该service软件的版本 |
components | 该service下所依赖的components列表 |
osSpecifics | 该service针对OS的特定package信息,该命令会在component实例中执行 |
commandScript | component组service级别的命令也是支持的 |
comment | 该service的简短注释 |
requiredServices | 所以来的其他services |
configuration-dependencies | 该service所依赖的配置文件(被其他services拥有的config也要在该列表中指定) |
restartRequiredAfterRackChange | 是否在rack变更后重启 |
quickLinksConfigurations-dir | 存放快速链接定义文件的目录,默认是quicklinks |
quickLinksConfigurations/quickLinksConfiguration/filename | 快速链接json文件名 |
<restartRequiredAfterChange>false</restartRequiredAfterChange> | 是否在rack变更后重启 |
2. service/components
Field | Usage |
---|---|
name | 组件的名称 |
displayName | 该组件的显示名称 |
category | 该组件的类型:MASTER/SLAVE/CLIENT |
commandScript | 该命令将会执行当该组件实例化时 |
cardinality | 允许/期待实例化数量 |
reassignAllowed | 该组件是否支持重新分配(reAssigned)/移动(Moved)到另外一个host |
versionAdertised | 组件是否公布其版本 - 在滚动/快速升级期间使用 |
timelineAppid | Ambari Metrics搜集该组件时的名称 |
dependencies | 该组件所依赖其他组件列表 |
customCommands | 用户自定义命令 |
组件的customCommands命令,会在ambari管理系统的“服务操作中”展示。
3. service/component/commandScript
Field | Usage |
---|---|
script | 该script的相对路径 |
scriptType | 该script的类型,当前仅支持PYTHON |
timeout | 该script的执行超时时间 |
延伸
4. service/component/dependencies/dependency
Field | Usage |
---|---|
name | 依赖组件的名称 |
scope | 该scope是否存在同一个cluster/host |
auto-deploy | 是否自动部署,当不存在时 |
conditions | 判断该依赖是否存在的条件,比如在一个配置中一个属性是否存在 |
5. service/component/logs
Field | Usage |
---|---|
logId | 该组件的logId |
primary | 是否为primary logid |
6. service/component/configFiles
Field | Usage |
---|---|
type | 该配置文件的类型:xml/env sh/yaml |
fileName | 该生成文件的名称 |
dictionaryName | ambari-server管理该配置文件的路径 |
7. packages
service / osSpecifics - 特定于操作系统的软件包名称(rpm或deb软件包)
Field | What is it used for | Sample Values |
---|---|---|
osFamily | the os family for which the package is applicable | any => all amazon2015,redhat6,debian7,ubuntu12,ubuntu14,ubuntu16 |
packages | list of packages that are needed to deploy the service | <check out HDFS metainfo> |
package/name | name of the package (will be used by the yum/zypper/apt commands) | <packages><package><name>jq</name></package></packages> |
在install()方法里面:
1 | def install(self, env): |
8. requiredServices
1 | <service> |
参考资料:
【1】Ambari自定义服务集成实战教学(完结):https://www.yuque.com/create17/ambari/miyk6c
点关注,不迷路
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。
白嫖不好,创作不易。各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
如果本篇博客有任何错误,请批评指教,不胜感激 !
原文作者: create17
原文链接: https://841809077.github.io/2018/06/07/Ambari/自定义服务/metainfo.xml详解.html
版权声明: 转载请注明出处(码字不易,请保留作者署名及链接,谢谢配合!)