热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AmbariServer配置修改流程

一、前端通过Rest接口提交配置修改请求:接口:[PUT]apiv1clusters{clustername}请求:[{Clusters

一、前端通过 Rest 接口提交配置修改请求:

接口:[PUT]   /api/v1/clusters/{clustername}

请求:

[{"Clusters": {"desired_config": [{"type": "zoo.cfg","tag": "version1488444158642","properties": {"autopurge.purgeInterval": "24","autopurge.snapRetainCount": "30","clientPort": "2181","dataDir": "/data01/hadoop/zookeeper","initLimit": "10","syncLimit": "5","tickTime": "2000"},"service_config_version_note": "Initial configurations for ZooKeeper"}...]}}
]

 

二、服务端操作数据库
1、clusterconfig 表记录(参考 Ambari Server 配置多版本功能实现分析)
2、serviceconfig 表记录(参考 Ambari Server 配置多版本功能实现分析)
3、serviceconfigmapping 表记录(参考 Ambari Server 配置多版本功能实现分析)
4、clusterconfigmapping 表记录,标记当前期望的配置

 

三、周期性判断:期望配置和实际配置是否一致,如不一致则提示用户更新

期望配置:clusterconfigmapping 表,selected=1 的记录为 当前期望的配置

实际配置:存储在 Agent 端 /var/lib/ambari-agent/data/ 目录下,Agent 通过心跳 ComponentStatus 字段,汇报当前主机的实际配置

 

注意点:

1、期望配置和实际配置的对比逻辑:ConfigHelper.java 类的 isStaleConfigs()方法

2、集成服务文件 metainfo.xml 的 configuration-dependencies 配置项,如:


       hdfs-core-site

只有在 configuration-dependencies 中定义的配置文件,修改之后才会提示用户更新。而且 config-type 字段填写配置文件名的时候,不要加 .xml 扩展名,否则照样不会提示用户更新。

转:https://www.cnblogs.com/basenet855x/p/6824639.html



推荐阅读
author-avatar
人忒多
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有