Ambari Server 配置组功能实现分析

配置组是为了实现不同主机、不同配置这个功能。

配置组 表关系图:

configgroup:配置组的基本信息

configgrouphostmapping:配置组对应的主机

confgroupclusterconfigmapping: 配置组对应的配置

clusterconfig:配置文件表

 

举一个例子:

configgroup 表:

configgrouphostmapping 表:

 confgroupclusterconfigmapping 表:

 clusterconfig 表:

 

有一个服务 TestService,安装在3台主机,主机ID分别为1、2、3,我们想让主机1、3和2的配置不一样,应该如何做?

每个服务都有一个默认配置组,最初大家都属于默认配置组,实现上面的需求,需要再创建一个配置组:

创建一个配置组:configgroup 添加一行记录:group_id=2

配置组关联的主机:configgrouphostmapping 添加两行记录:config_group_id=2 对应两个 host_id,1和3

配置组关联的配置:confgroupclusterconfigmapping 添加一行记录:config_group_id 对应一个 version_tag

 

这里需要注意的是,配置组在 clusterconfig 表的 config_data 只保存修改的配置项,其他配置项,和默认配置组保持一致

 

posted @ 2017-05-08 11:35  basenet855x  阅读(873)  评论(0编辑  收藏  举报