Ambari Server 配置修改流程

摘要:
在配置类型字段中填写配置文件名时,不要添加。xml扩展名,否则不会提示用户更新。

一、前端通过 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 表记录,标记当前期望的配置

Ambari Server 配置修改流程第1张

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

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

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

注意点:

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

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

<configuration-dependencies>
       <config-type>hdfs-core-site</config-type>
</configuration-dependencies>

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

免责声明:文章转载自《Ambari Server 配置修改流程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇sklearn参数优化方法Unity TextMeshPro(ver.1.0.56) 自定义缺字字符下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

需求规格说明书格式及要求

1 引言 1.1 编写目的 1.2 项目风险 具体说明本软件开发项目的全部风险承担者,以及各自在本阶段所需要承担的主要风险,首要风险承担着包括 a) 任务提出者 b) 软件开发者 c) 产品使用者 1.3 文档约定 描述编写文档时所采用的标准,或各种排版约定.排版约定应该包括: a) 正文风格 b) 提示方式 c) 重要符号 也应该说明高层次需求是否可以被...

IIS日志-网站运维的好帮手

感谢原博主!原博客地址:http://www.cnblogs.com/fish-li/p/3139366.html 对于一个需要长期维护的网站来说,如何让网站长久稳定运行是件很有意义的事情。 有些在开发阶段没有暴露的问题很有可能就在运维阶段出现了,这也是很正常的。 还有些时候,我们希望不断地优化网站,让网站更快速的响应用户请求, 这些事情都发生在开发之...

【转】Java类加载原理解析

原链接 1 基本信息 每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。 Java的类加载机制是java技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多, 但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚...

软件测试英语专业词汇汇总

  NLV:Nation Language Version  本地化版本 FVT:Functional Verification Testing  功能验证测试 TVT:Translation Verification Testing  翻译验证测试 SVT:System Verification Testing  系统验证测试 fault--故障 在软...

【转】使用Apache Kylin搭建企业级开源大数据分析平台

http://www.thebigdata.cn/JieJueFangAn/30143.html  本篇文章整理自史少锋4月23日在『1024大数据技术峰会』上的分享实录:使用Apache Kylin搭建企业级开源大数据分析平台。   正文如下   我先做一个简单介绍我叫史少锋,我曾经在IBM、eBay做过大数据、云架构的开发,现在是Kyligence的技...

Linux内核分析总结

周子轩 原创作品转载注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 笔记: 冯诺依曼体系结构的核心思想是存储程序计算机。在计算机中有两种指令,一是用户指令,一是系统调用。 Linux是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统...