metainfo.xml
定义了Ambari管理Service的一些配置内容,该文件对应Service定义起着至关重要的作用。
结构
一级结构
Field |
Usage |
Sample Values |
name |
service的名称,该名称必须保障在stack services中是唯一的 |
HDFS |
displayName |
该service的显示名称 |
HDFS |
version |
该service的版本,版本和名称能够唯一的定义该service,通常该版本为该service软件的版本 |
2.7.3 |
components |
该service下所依赖的components列表 |
请参考HDFS metainfo.xml |
osSpecifics |
该service针对OS的特定package信息,该命令会在component实例中执行 |
请参考HDFS metainfo.xml |
commandScript |
component组service级别的命令也是支持的 |
请参考HDFS metainfo.xml |
comment |
该service的简短注释 |
Apache Hadoop Distributed File System |
requiredServices |
所以来的其他services |
请参考HDFS metainfo.xml |
configuration-dependencies |
该service所依赖的配置文件(被其他services拥有的config也要在该列表中指定) |
请参考HDFS metainfo.xml |
restartRequiredAfterRackChange |
是否在rack变更后重启 |
true/false |
configuration-dir |
service/components
Field |
Usage |
Sample Values |
name |
组件的名称 |
HDFS |
displayName |
该组件的显示名称 |
HDFS |
category |
该组件的类型:MASTER/SLAVE/CLIENT |
commandScript |
该命令将会执行当该组件实例化时 |
请参考HDFS metainfo.xml |
cardinality |
允许/期待实例化数量 |
比如1-2 对于Master,1+对于Slave |
reassignAllowed |
该组件是否支持重新分配(reAssigned)/移动(Moved)到另外一个host |
true/false |
versionAdertised(?) |
does the component advertise its version - used during rolling/express upgrade |
true/false |
timelineAppid |
AmbariMetrics搜集该组件时的名称 |
请参考HDFS metainfo.xml |
dependencies |
该组件所依赖其他组件列表 |
请参考HDFS metainfo.xml |
customCommands |
用户自定义命令 |
RESTART_LLAP (Check out HIVE metainfo) |
service/osSpecifics
Field |
Usage |
Sample Values |
osFamily |
该package支持os集合 |
any => all |
redhat6,debian7,ubuntu12,ubuntu14,ubuntu16 |
packages |
部署该service所依赖的packages列表 |
请参考HDFS metainfo.xml |
package/name |
package名称 |
hadoop-lzo等 |
service/component/dependencies/dependency
Field |
Usage |
Sample Values |
name |
依赖组件的名称 |
HDFS/ZKFC |
scope |
该scope是否存在同一个cluster/host |
cluster/host |
auto-deploy |
是否自动部署,当不存在时 |
true/false |
conditions |
判断该依赖是否存在的条件,比如在一个配置中一个属性是否存在 |
请参考HDFS metainfo.xml |
<dependency>
<name>HDFS/ZKFC</name>
<scope>cluster</scope>
<auto-deploy>
<enabled>false</enabled>
</auto-deploy>
<conditions>
<condition xsi:type="propertyExists">
<configType>hdfs-site</configType>
<property>dfs.nameservices</property>
</condition>
</conditions>
</dependency>
service/component/commandScript
Field |
Usage |
Sample Values |
script |
该script的相对路径 |
请参考HDFS metainfo.xml |
scriptType |
该script的类型,当前仅支持PYTHON
|
请参考HDFS metainfo.xml |
timeout |
该script的执行超时时间 |
请参考HDFS metainfo.xml |
示例:
<commandScript>
<script>scripts/service_check.py</script>
<scriptType>PYTHON</scriptType>
<timeout>300</timeout>
</commandScript>
service/component/logs
Field |
Usage |
Sample Values |
logId |
该组件的logId |
请参考HDFS metainfo.xml |
primary |
是否为primary logid |
请参考HDFS metainfo.xml |
<log>
<logId>hdfs_namenode</logId>
<primary>true</primary>
</log>
service/component/customCommand
参考service/component/commandScript
service/component/configFiles
Field |
Usage |
Sample Values |
type |
该配置文件的类型:xml/env sh/yaml |
请参考HDFS metainfo.xml |
fileName |
该生成文件的名称 |
请参考HDFS metainfo.xml |
dictionaryName |
ambari-server管理该配置文件的路径 |
请参考HDFS metainfo.xml |
metainfo.xml示例
<metainfo>
<schemaVersion>2.0</schemaVersion>
<services>
<service>
<name>HBASE</name>
<displayName>HBase</displayName>
<comment>Non-relational distributed database and centralized service for configuration management &
synchronization
</comment>
<version>0.96.0.2.0</version>
<components>
<component>
<name>HBASE_MASTER</name>
<displayName>HBase Master</displayName>
<category>MASTER</category>
<cardinality>1+</cardinality>
<versionAdvertised>true</versionAdvertised>
<timelineAppid>HBASE</timelineAppid>
<dependencies>
<dependency>
<name>HDFS/HDFS_CLIENT</name>
<scope>host</scope>
<auto-deploy>
<enabled>true</enabled>
</auto-deploy>
</dependency>
<dependency>
<name>ZOOKEEPER/ZOOKEEPER_SERVER</name>
<scope>cluster</scope>
<auto-deploy>
<enabled>true</enabled>
<co-locate>HBASE/HBASE_MASTER</co-locate>
</auto-deploy>
</dependency>
</dependencies>
<commandScript>
<script>scripts/hbase_master.py</script>
<scriptType>PYTHON</scriptType>
<timeout>1200</timeout>
</commandScript>
<customCommands>
<customCommand>
<name>DECOMMISSION</name>
<commandScript>
<script>scripts/hbase_master.py</script>
<scriptType>PYTHON</scriptType>
<timeout>600</timeout>
</commandScript>
</customCommand>
</customCommands>
</component>
<component>
<name>HBASE_REGIONSERVER</name>
<displayName>RegionServer</displayName>
<category>SLAVE</category>
<cardinality>1+</cardinality>
<versionAdvertised>true</versionAdvertised>
<timelineAppid>HBASE</timelineAppid>
<commandScript>
<script>scripts/hbase_regionserver.py</script>
<scriptType>PYTHON</scriptType>
</commandScript>
</component>
<component>
<name>HBASE_CLIENT</name>
<displayName>HBase Client</displayName>
<category>CLIENT</category>
<cardinality>1+</cardinality>
<versionAdvertised>true</versionAdvertised>
<commandScript>
<script>scripts/hbase_client.py</script>
<scriptType>PYTHON</scriptType>
</commandScript>
<configFiles>
<configFile>
<type>xml</type>
<fileName>hbase-site.xml</fileName>
<dictionaryName>hbase-site</dictionaryName>
</configFile>
<configFile>
<type>env</type>
<fileName>hbase-env.sh</fileName>
<dictionaryName>hbase-env</dictionaryName>
</configFile>
</configFiles>
</component>
</components>
<osSpecifics>
<osSpecific>
<osFamily>any</osFamily>
<packages>
<package>
<name>hbase</name>
</package>
</packages>
</osSpecific>
</osSpecifics>
<commandScript>
<script>scripts/service_check.py</script>
<scriptType>PYTHON</scriptType>
<timeout>300</timeout>
</commandScript>
<requiredServices>
<service>ZOOKEEPER</service>
<service>HDFS</service>
</requiredServices>
<configuration-dependencies>
<config-type>core-site</config-type>
<config-type>hbase-site</config-type>
<config-type>ranger-hbase-policymgr-ssl</config-type>
<config-type>ranger-hbase-security</config-type>
</configuration-dependencies>
</service>
</services>
</metainfo>
参考:
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。