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

第七章Ambari二次开发之自定义Flink服务configuration配置目录详解

1、configuration目录详解configuration目录:主要对第三方服务的Conf目录下相关配置进行参数定义。核心:configurati




1、configuration目录详解


  • configuration目录:主要对第三方服务的Conf目录下相关配置进行参数定义

  • 核心:configuration被 Ambari Server 加载之后,在前端页面上会出现两个配置项,分别是 高级选项 和 自定义选项。其中 高级选项 里面就是 xml 文件的内容,自定义选项 可以加入自定义配置信息,如果不需要显示自定义配置信息的话,可以通过添加 来隐藏掉自定义配置信息。

在这里插入图片描述


2、自定义目录文件


2.1、目录文件说明

  • 目录中文件如下

在这里插入图片描述

<configuration>
<property>
<name>flink_install_dirname>
<value>/opt/flinkvalue>
<description>Location to install Flinkdescription>
property>
<property>
<name>elasticsearch_portname>
<display-name>Elasticsearch portdisplay-name>
<value>9200value>
<description>Elasticsearch portdescription>
property>
<property>
<name>contentname>
<display-name>Elasticsearch config file templatedisplay-name>
<description>This is the template for elasticsearch.yml filedescription>
<value>
http.port: {{elasticsearch_port}}
value>
<value-attributes>
<type>contenttype>
<show-property-name>trueshow-property-name>
value-attributes>
<on-ambari-upgrade add&#61;"true"/>
property>

configuration>

  • property属性说明

属性名称属性描述备注
name属性名称&#xff0c;当无 display-name 属性时&#xff0c;name 值将会显示在前端页面上。
display-name前端页面显示的名称&#xff0c;会覆盖显示在前端页面上的 name 值。
value属性值&#xff0c;前端页面对应输入框里面的值&#xff0c;可修改并保存。
description属性描述信息。在前端页面上以鼠标悬浮框的形式显示出来。

  • 页面展示&#xff1a;configuration 文件内的大部分&#xff08;普通&#xff09;属性都会在 Ambari Web UI 上的 CONFIGS 下展示&#xff0c;内容可编辑修改。

在这里插入图片描述


2.2、相关参数配置详解

&#xff08;1&#xff09;配置项锁定


  • 实现效果&#xff1a;服务安装后不可编辑&#xff0c;

<value-attributes>
<editable-only-at-install>trueeditable-only-at-install>
value-attributes>

  • 修改前效果图

在这里插入图片描述


  • 修改后效果图

在这里插入图片描述

&#xff08;2&#xff09;允许字段为空


  • 实现效果&#xff1a;允许value值为空

<value-attributes>
<empty-value-valid>trueempty-value-valid>
value-attributes>

  • 修改前效果&#xff1a;默认情况下字段值为空在安装页面会告警提示

在这里插入图片描述


  • 修改后效果

在这里插入图片描述

&#xff08;3&#xff09;设置密码校验


  • 实现效果&#xff1a;修改配置项时需要输入密码

<property require-input&#61;"true">
<name>kadmin.local.passwordname>
<display-name>admin passworddisplay-name>
<value/>
<property-type>PASSWORDproperty-type>
<description>The password is used to add the kerberos database administratordescription>
<value-attributes>
<type>passwordtype>
value-attributes>
property>

  • 修改后效果图
    在这里插入图片描述
    &#xff08;4&#xff09;实现swith滑块

  • 效果要求&#xff1a;实现滑块形式的开关要求

<property>
<name>hue-hdfs-module-enabledname>
<value>Yesvalue>
<display-name>Hue HDFS Moduledisplay-name>
<description>Enable Hue Filebrower Moduledescription>
<value-attributes>
<overridable>falseoverridable>
<type>value-listtype>
<entries>
<entry>
<value>Yesvalue>
<label>ONlabel>
entry>
<entry>
<value>Novalue>
<label>OFFlabel>
entry>
entries>
<selection-cardinality>1selection-cardinality>
value-attributes>
property>

  • 修改前效果

  • 修改后效果

&#xff08;5&#xff09;是否显示配置名称


  • 目标效果&#xff1a;隐藏部分name配置&#xff0c;将value输入框设置为文本框

<value-attributes>

<type>contenttype>

<show-property-name>trueshow-property-name>
value-attributes>

  • 输入框 VS 目录输入框VS 文本框显示效果

在这里插入图片描述

&#xff08;6&#xff09;自动创建用户和用户组

<property>
<name>elastic_username>
<display-name>Elasticsearch userdisplay-name>
<value>esvalue>
<description>Elasticsearch userdescription>
<property-type>USERproperty-type>
<value-attributes>
<type>usertype>
<user-groups>
<property>
<type>cluster-envtype>
<name>user_groupname>
property>
<property>
<type>elastic-envtype>
<name>es_groupname>
property>
user-groups>
value-attributes>
property>
<property>
<name>es_groupname>
<display-name>es User Groupdisplay-name>
<value>elasticsearch_groupvalue>
<property-type>GROUPproperty-type>
<description>es user group.description>
property>

  • 注意事项&#xff1a;只有在初始安装时可自动创建用户/用户组&#xff0c;如果进行扩容则无法实现自动创建

&#xff08;7&#xff09;配置修改后&#xff0c;提示重启服务


<metainfo>
<schemaVersion>2.0schemaVersion>
<services>
<service>
...(省略)

<components>
<component>
<name>ELASTICSEARCH_SERVICEname>
<displayName>Elasticsearch ServicedisplayName>
<category>MASTERcategory>
<cardinality>1&#43;cardinality>
...(省略)
<configuration-dir>configurationconfiguration-dir>
<configuration-dependencies>
<config-type>elastic-configconfig-type>
configuration-dependencies>
...(省略)
component>
components>

<configuration-dir>configurationconfiguration-dir>
<configuration-dependencies>
<config-type>elastic-envconfig-type>
configuration-dependencies>

...(省略)
service>
services>
metainfo>

  • 参数说明&#xff1a; 作用域下的 / 来说&#xff0c;如果在前端页面上修改了该 xml 文件内容后并保存配置&#xff0c;那么整个服务都将会提示重启。如果是 的作用域下&#xff0c;则只提示重启该 component 组件&#xff0c;并不是所有组件都重启。

属性说明备注
config-typeconfiguration 目录下 xml 文件的名
configuration-dependencies指定服务所依赖的配置文件

3、调试方法

1、修改文件
2、将修改文件覆盖/var/lib/ambari-server/resources/stacks/HDP/3.1/services/FLINK
3、重启ambari-server
4、卸载服务重新安装

  • 文件配置路径&#xff1a;Ambari 自定义服务的参数配置由 xml 文件管理&#xff0c;默认存放在 configuration 目录下。如果要自定义该目录名称的话&#xff0c;可以在 metainfo.xml 中声明&#xff0c;在 service 标签下设置 configuration-dir 的值&#xff1a;configuration-dir

  • 配置修改记录会保存到 ambari 数据库中&#xff0c;主要涉及到的表有如下&#xff1a;


    • serviceconfig
    • serviceconfigmapping
    • clusterconfig&#xff08;历史配置的详细内容&#xff09;






推荐阅读
  • 本文介绍了Tomcat的基本操作,包括启动、关闭及首次访问的方法,并详细讲解了如何在IDEA中创建Web项目,配置Servlet及其映射,以及如何将项目部署到Tomcat。 ... [详细]
  • 本文详细介绍了如何使用C#实现不同类型的系统服务账户(如Windows服务、计划任务和IIS应用池)的密码重置方法。 ... [详细]
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 一、Advice执行顺序二、Advice在同一个Aspect中三、Advice在不同的Aspect中一、Advice执行顺序如果多个Advice和同一个JointPoint连接& ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • Android与JUnit集成测试实践
    本文探讨了如何在Android项目中集成JUnit进行单元测试,并详细介绍了修改AndroidManifest.xml文件以支持测试的方法。 ... [详细]
  • 本文档详细介绍了软通动力Java开发工程师职位的笔试题目,涵盖了Java基础、集合框架、JDBC、JSP等内容,并提供了详细的答案解析。 ... [详细]
  • 在尝试使用 Android 发送 SOAP 请求时遇到错误,服务器返回 '无法处理请求' 的信息,并指出某个值不能为 null。本文探讨了可能的原因及解决方案。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
author-avatar
dwxa520恋歌_261
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有