热门标签 | 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



推荐阅读
  • ZooKeeper 学习
    前言相信大家对ZooKeeper应该不算陌生。但是你真的了解ZooKeeper是个什么东西吗?如果别人面试官让你给他讲讲ZooKeeper是个什么东西, ... [详细]
  • 对于开源的东东,尤其是刚出来不久,我认为最好的学习方式就是能够看源代码和doc,測试它的样例为了方便查看源代码,关联导入源代 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • mapreduce源码分析总结
    这篇文章总结的非常到位,故而转之一MapReduce概述MapReduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的ÿ ... [详细]
  • Hadoop 源码学习笔记(4)Hdfs 数据读写流程分析
    Hdfs的数据模型在对读写流程进行分析之前,我们需要先对Hdfs的数据模型有一个简单的认知。数据模型如上图所示,在NameNode中有一个唯一的FSDirectory类负责维护文件 ... [详细]
  • 如何在mysqlshell命令中执行sql命令行本文介绍MySQL8.0shell子模块Util的两个导入特性importTableimport_table(JS和python版本 ... [详细]
  • Hive的数据表创建数据文件inner_table.dat创建表hive>createtableinner_table(keystri ... [详细]
  • 我们在之前的文章中已经初步介绍了Cloudera。hadoop基础----hadoop实战(零)-----hadoop的平台版本选择从版本选择这篇文章中我们了解到除了hadoop官方版本外很多 ... [详细]
  • MapReduce工作流程最详细解释
    MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduce函数,所以对其整体的计算过程不是太 ... [详细]
  • MapReduce 切片机制源码分析
     总体来说大概有以下2个大的步骤1.连接集群(yarnrunner或者是localjobrunner)2.submitter.submitJobInternal()在该方法中会创建 ... [详细]
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社区 版权所有