当前位置: 首页 > news >正文

04.Ambari自定义服务开发-自定义服务配置文件在Ambari中的设置方法

文章目录

    • 设置方法
    • 配置文件设置Custom xxx
    • 配置文件详细的配置方法
      • `.xml`文件的整体格式
      • 基础参数格式
      • value-attributes配置介绍
        • 设置属性在服务安装后不可修改
        • 设置允许字段为空
        • 是否显示配置名称
        • 参数类型设置
          • 字符串类型
          • Password
          • Boolean
          • Int
          • Float
          • Directory
          • Directories
          • Content-多行文本
          • user-自动创建用户和用户组

官网说明: https://cwiki.apache.org/confluence/display/AMBARI/Configuration+support+in+Ambari

设置方法

服务需要配置的参数统一都是由.xml格式文件进行配置,默认会读取configuration/目录下的.xml文件。可以通过配置metainfo.xml中的<configuration-dir></configuration-dir>参数修改读取的目录。

configuration/目录下的.xml文件,都会在WebUI显示,如下图所示:

image-20240221113520974

image-20240221133508787

配置文件设置Custom xxx

默认配置文件在WebUI可以配置两种,一种是我们在.xml文件中指定的配置对应Advanced xxx,另外一种是自定义配置对应上面页面中Custom xxx,自定义配置主要应对我们没有提前设置的参数,可以自定义补充。可以通过在.xml文件中参数supports_adding_forbidden="true"来控制是否需要Custom xxx,设置为false或者不添加该参数是需要Custom xxx

配置方法

<configuration supports_adding_forbidden="true">...
</configuration>

详细配置Custom xxx的方法见05.Ambari自定义服务开发-自定义服务配置文件生成

配置文件详细的配置方法

.xml文件的整体格式

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
....
</configuration>

<configuration>下可以设置我们需要配置的具体配置参数了

基础参数格式

<property><name>doris_pid_dir</name><display-name>Doris pid directory</display-name><value>/var/run/doris</value><description>Doris pid directory</description>
</property>

说明:

  • name:属性名称
  • display-name:WebUI中显示的属性名称,如未设置display-name,前端页面显示name值
  • value:属性具体值,在WebUI中显示的值,可修改
  • description:描述信息,在WebUI中显示。

在页面中如下图所示

image-20240221140348478

value-attributes配置介绍

参考:https://blog.csdn.net/qq_44226094/article/details/130210270

用于设置参数的类型、是否为空等等

样例

<!-- 这里规定了属性值的类型为int,最小值为0,最大值为48000 -->
<value-attributes><!-- 值类型boolean/ int/ float/ directory/ directories/ content/value-list/ user/ password --><type>int</type><!--是否可复写 true/ false --><overridable>true</overridable><!-- 空值是否有效 true/ false --><empty-value-valid>true</empty-value-valid><!-- property是否 ui true/ false --><ui-only-property>true</ui-only-property><!-- 不可编辑 true / false --><read-only>true</read-only><!--值是否在安装时可编辑 true/ false --><editable-only-at-install></editable-only-at-install><!-- property 显示值 true/ false --><show-property-name></show-property-name><!-- 步长 --><increment-step>100</increment-step><!-- 可选值 --><selection-cardinality>2+</selection-cardinality><!-- property 文件名 --><property-file-name></property-file-name><!-- property文件类型 --><property-file-type></property-file-type><!-- 条目 --><entries><entry><value>2</value></entry><!-- ... --></entries><!-- 隐藏 --><hidden></hidden><!--条目是否可编辑 true/ false --><entries-editable></entries-editable><!-- 用户组 --><user-groups></user-groups><!-- 密钥库是否启用 true/ false --><keystore></keystore><!-- 最小值 --><minimum>0</minimum><!-- 最大值 --><maximum>48000</maximum><!-- 值单位 B/ MB/ ms/ Bytes/ milliseconds --><unit></unit><!--可见  --><visible></visible><!-- 复制 --><copy></copy>
</value-attributes>
设置属性在服务安装后不可修改

<property>标签内添加:

<value-attributes><editable-only-at-install>true</editable-only-at-install>
</value-attributes>

使用样例

<property><name>test_editable-only-at-install</name><display-name>测试服务安装后不可编辑</display-name><value>123456</value><description>测试服务安装后不可编辑描述</description><value-attributes><editable-only-at-install>true</editable-only-at-install></value-attributes>
</property>

效果

image-20240221150628545

设置允许字段为空

<property>标签内添加:

<value-attributes><empty-value-valid>true</empty-value-valid>
</value-attributes>

使用样例

    <property><name>test_empty-value-valid</name><display-name>测试字段允许为空</display-name><value>123456</value><description>测试字段允许为空描述</description><value-attributes><empty-value-valid>true</empty-value-valid></value-attributes></property>

tip:

  1. empty-value-valid参数为true代表可以为空,不设置或者为false是不能为空

  2. 如果不设置<empty-value-valid>true</empty-value-valid>参数,不填写内容,会提示需要填写

效果

image-20240221150726144

是否显示配置名称

<property>标签内添加:

<value-attributes><!-- 默认为input输入框,当type为content时,即为文本框 --><type>content</type><!-- 是否显示配置名称 --><show-property-name>false</show-property-name>
</value-attributes>

使用样例

     <property><name>test_show-property-name</name><display-name>测试是否显示配置名称</display-name><value>123456</value><description>测试是否显示配置名称描述</description><value-attributes><!-- 默认为input输入框,当type为content时,即为文本框 --><type>content</type><!-- 是否显示配置名称 --><show-property-name>false</show-property-name></value-attributes></property>

效果

image-20240407163102901

参数类型设置
字符串类型
    <property><name>fe_passwd</name><display-name>Frontend密码</display-name><value>  </value><description>默认无密码,用来添加节点、检查节点连接客户端使用</description></property>
Password
    <property><name>fe_passwd</name><display-name>Frontend密码</display-name><value>  </value><value-attributes><type>password</type></value-attributes><description>默认无密码,用来添加节点、检查节点连接客户端使用</description></property>

样例

image-20240407163809249

Boolean
    <property><name>test_type_boolean</name><display-name>测试类型-boolean</display-name><value></value><value-attributes><type>boolean</type></value-attributes></property>

样例

image-20240221151106088

Int
    <property><name>test_type_int</name><display-name>测试类型-int</display-name><value></value><value-attributes><type>int</type></value-attributes></property>

样例

image-20240221151154850

Float
    <property><name>test_type_float</name><display-name>测试类型-float</display-name><value></value><value-attributes><type>float</type></value-attributes></property>

样例

image-20240221151240720

Directory

填写目录格式数据,非目录格式无法填写

    <property><name>test_type_directory</name><display-name>测试类型-directory</display-name><value></value><value-attributes><type>directory</type></value-attributes></property>

样例

image-20240221151324634

Directories

填写多个目录格式数据,多个目录采用逗号分隔,或者换行分隔,换行分隔保存后会自动转换成逗号分隔

    <property><name>test_type_directories</name><display-name>测试类型-directories</display-name><value></value><value-attributes><type>directories</type></value-attributes></property>

样例

image-20240221151409240

Content-多行文本
    <property><name>test_type_content</name><display-name>测试类型-content</display-name><value></value><value-attributes><type>content</type></value-attributes></property>

样例

image-20240221151452976

user-自动创建用户和用户组

配置后会自动创建用户和用户组,并将用户设置到某个组下,doris-env.xml文件部分内容如下

    <property><name>doris_user</name><display-name>Doris user</display-name><value>doris</value><description>Doris user</description><!--选择配置的属性为用户,设置成用户则会自动创建该用户--><property-type>USER</property-type><value-attributes><type>user</type><overridable>false</overridable><!--设置用户所属用户组--><user-groups><!--设置用户组属于,cluster-env->user_group的配置--><!--读取的配置最终会统一汇总到/var/lib/ambari-agent/data/command-xxx.json这个文件,可以在这里直接查询验证--><property><type>cluster-env</type><name>user_group</name></property><!--设置用户组属于,doris-env->doris_group的配置,这里doris-env就是当前文件的配置--><property><type>doris-env</type><name>doris_group</name></property></user-groups></value-attributes></property><property><!--创建用户组,组名为doris_group--><name>doris_group</name><display-name>doris User Group</display-name><value>doris_group</value><property-type>GROUP</property-type><description>doris user group.</description></property>

上面配置实现了:创建一个名为doris的用户,并将其分配到特定的用户组(doris_grouphadoop

tip:cluster-env->user_group获取到的值就是hadoop

相关文章:

04.Ambari自定义服务开发-自定义服务配置文件在Ambari中的设置方法

文章目录 设置方法配置文件设置Custom xxx配置文件详细的配置方法.xml文件的整体格式基础参数格式value-attributes配置介绍设置属性在服务安装后不可修改设置允许字段为空是否显示配置名称参数类型设置字符串类型PasswordBooleanIntFloatDirectoryDirectoriesContent-多行文本…...

LSTM时间序列基础学习

时间序列 时间序列可以是一维&#xff0c;二维&#xff0c;三维甚至更高维度的数据&#xff0c;在深度学习的世界中常见的是三维时间序列&#xff0c;这三个维度分别是&#xff08;batch_size,time_step,input_dimensions&#xff09;。 其中time_step是时间步&#xff0c;它…...

『Z-Workshop』 6月22日线下ALCOVE分享活动

2024 求是创新 ZJUBCA Sponsored by the ALCOVE Community TIME&#xff1a;2024/06/22 ADD&#xff1a;浙江大学紫金港校区 --- Alcove 是 Aptos 公链与 Alibaba Cloud 共同打造的亚洲首个 Move 开发者社区&#xff0c;致力于支持开发者使用 Move 语言构建下一代 Web3 应用&am…...

【机器学习】机器学习重要方法——迁移学习:理论、方法与实践

文章目录 迁移学习&#xff1a;理论、方法与实践引言第一章 迁移学习的基本概念1.1 什么是迁移学习1.2 迁移学习的类型1.3 迁移学习的优势 第二章 迁移学习的核心方法2.1 特征重用&#xff08;Feature Reuse&#xff09;2.2 微调&#xff08;Fine-Tuning&#xff09;2.3 领域适…...

uniapp, ‍[⁠TypeError⁠]‍ “Failed to fetch dynamically imported module“ 报错解决思路

文章目录 1. 背景2. 报错3. 解决思路4. 思考参考1. 背景 最近基于uniapp开发一款设备参数调试的APP软件,在使用第三方插件的过程中,出现下面的报错。 2. 报错 [plugin:vite:import-analysis] Cannot find module ‘D:/leaning/uniapp/demo/jk-uts-udp示例/uni_modules/uts-…...

四川省高等职业学校大数据技术专业建设暨专业质量监测研讨活动顺利开展

6月21日&#xff0c;省教育评估院在四川邮电职业技术学院组织开展全省高等职业学校大数据技术专业建设暨专业质量监测研讨活动。省教育评估院副院长赖长春&#xff0c;四川邮电职业技术学院党委副书记、校长冯远洪&#xff0c;四川邮电职业技术学院党委委员、副校长程德杰等出席…...

深入解析三大跨平台开发框架:Flutter、React Native 和 uniapp

深入解析三大跨平台开发框架&#xff1a;Flutter、React Native 和 uniapp 在移动开发中&#xff0c;跨平台开发框架已经成为开发者的首选工具。本篇将深入解析三大主流跨平台开发框架&#xff1a;Flutter、React Native 和 uniapp。下面将详细探讨它们的原理、优势和劣势。 …...

【吊打面试官系列-MyBatis面试题】#{}和${}的区别是什么?

大家好&#xff0c;我是锋哥。今天分享关于 【#{}和${}的区别是什么&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; #{}和${}的区别是什么&#xff1f; #{} 是预编译处理&#xff0c;${}是字符串替换。 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网…...

解决HTTP 400 Bad Request错误的方法

解决HTTP 400 Bad Request错误的方法 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在进行网络通信时&#xff0c;HTTP 400 Bad Request错误是相对常见的问题…...

Html的表单标签。(Java程序员需要掌握的前端)

表单标签 2.5.1 表单 2.5.1.1 介绍 那表单呢,在我们日常的上网的过程中,基本上每天都会遇到。比如&#xff0c;我们经常在访问网站时&#xff0c;出现的登录页面、注册页面、个人信息提交页面&#xff0c;其实都是一个一个的表单 。 当我们在这些表单中录入数据之后&#xf…...

Arduino (esp ) 下String的内存释放

在个人的开源项目 GitHub - StarCompute/tftziku: 这是一个通过单片机在各种屏幕上显示中文的解决方案 中为了方便快速检索使用了string&#xff0c;于是这个string在esp8266中占了40多k,原本以为当string设置为""的时候这个40k就可以回收&#xff0c;结果发觉不行…...

图灵虚拟机配置

导入虚拟机 点击新建&#xff0c;选择虚拟硬盘文件 环境机器.vmdk 配置网络...

【SQL常用日期函数(一)】

SQL 常用日期函数-基于impala 引擎 当前日期&#xff08;YYYY-MM-DD&#xff09; SELECT CURRENT_DATE(); -- 2024-06-30昨天 SELECT CURRENT_DATE(); -- 2024-06-30 SELECT CAST( DAYS_ADD(TO_DATE( CURRENT_DATE() ), -1 ) AS VARCHAR(10) ); -- 2024-06-29 SELECT CAST( …...

C++操作系列(二):VSCode安装和配置C++开发环境

1. VSCode下载 进入VSCode的官网网页&#xff1a;Download Visual Studio Code - Mac, Linux, Windows 下载相应的版本&#xff1a; 2. 安装VSCode 安装到指定位置&#xff1a; 一路下一步&#xff0c;直至安装完成&#xff1a; 3. 安装C插件 3.1. 安装C/C 点击扩展图标&…...

【java12】java12新特性之File的mismatch方法

Java12引入了一个新的方法 mismatch&#xff0c;它属于java.nio.file.Files类。此方法用于比较两个文件的内容&#xff0c;并返回第一个不匹配字节的位置。如果两个文件完全相同&#xff0c;则返回-1。 Files.mismatch 方法声明 public static long mismatch(Path path1, Pat…...

uni-app (通过HBuilderX 和 VS Code 开发)详细连接过程教学。

使用 HBuilderX 创建 uni-app 项目 并编译到微信开发者工具。 uni-app 支持两种方式创建项目&#xff1a; 通过 HBuilderX 创建 通过命令行创建 首先我们需要先下载HBuilderX 下载链接地址&#xff1a;DCloud - HBuilder、HBuilderX、uni-app、uniapp、5、5plus、mui、wap2…...

安宝特方案 | AR术者培养:AR眼镜如何帮助医生从“看”到“做”?

每一种新药品的上市都需要通过大量的临床试验&#xff0c;而每一种新的手术工具在普及使用之前也需要经过反复的实践和验证。医疗器械公司都面临着这样的挑战&#xff1a;如何促使保守谨慎的医生从仅仅观察新工具在手术中的应用&#xff0c;转变为在实际手术中实操这项工具。安…...

20240628每日前端---------解决vue项目滥用watch

主题 滥用watch。 名字解释 watch 例子 先看一个代码例子&#xff1a; <template>{{ dataList }} </template><script setup lang"ts"> import { ref, watch } from "vue";const dataList ref([]); const props defineProps([&q…...

【LLM 评估】GLUE benchmark:NLU 的多任务 benchmark

论文&#xff1a;GLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding ⭐⭐⭐⭐ arXiv:1804.07461, ICLR 2019 Site: https://gluebenchmark.com/ 文章目录 一、论文速读二、GLUE 任务列表2.1 CoLA&#xff08;Corpus of Linguistic Accep…...

Go线程调度器

基本结构 字段gcwaiting、stopwait和stopnoted都是串行运行时任务执行前后的辅助协调手段 gcwaiting字段的值用于表示是否需要停止调度 在停止调度前&#xff0c;该值会被设置为1在恢复调度之前&#xff0c;该值会被设置为0这样做的作用是&#xff0c;一些调度任务在执行时只…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)

cd /home 进入home盘 安装虚拟环境&#xff1a; 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境&#xff1a; virtualenv myenv 3、激活虚拟环境&#xff08;激活环境可以在当前环境下安装包&#xff09; source myenv/bin/activate 此时&#xff0c;终端…...

结构化文件管理实战:实现目录自动创建与归类

手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题&#xff0c;进而引发后续程序异常。使用工具进行标准化操作&#xff0c;能有效降低出错概率。 需要快速整理大量文件的技术用户而言&#xff0c;这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB&#xff0c;…...

高保真组件库:开关

一:制作关状态 拖入一个矩形作为关闭的底色:44 x 22,填充灰色CCCCCC,圆角23,边框宽度0,文本为”关“,右对齐,边距2,2,6,2,文本颜色白色FFFFFF。 拖拽一个椭圆,尺寸18 x 18,边框为0。3. 全选转为动态面板状态1命名为”关“。 二:制作开状态 复制关状态并命名为”开…...