Ambari在升级服务以及二次开发验证时,往往需要修改服务版本号。
当集群已经创建,此时在ambari-server后台修改服务对应metainfo.xml的<version>标签已不起作用。
需要修改数据库中repo_version表version_xml列的记录。借用可视化工具可以看出,version_xml列内容是一个xml文本,大致如下,其中我们需要修改<manifest>标签下的服务version信息。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<repository-version xsi:noNamespaceSchemaLocation="version_definition.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<release>
...
</release>
<manifest>
<service id="ZOOKEEPER" name="ZOOKEEPER" version="3.5.4"/>
<service id="HIVE" name="HIVE" version="3.2.0"/>
<service id="HDFS" name="HDFS" version="3.3.0"/>
<service id="YARN" name="YARN" version="3.3.0"/>
...
</manifest>
修改完成之后,重启ambari-server服务,再次登陆Ambari页面,添加服务以及stack中服务版本信息已经修改生效了。