当前位置: 首页 > 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;一些调度任务在执行时只…...

告别Keil5新建工程手忙脚乱:GD32F303保姆级环境搭建与文件管理心法

告别Keil5新建工程手忙脚乱&#xff1a;GD32F303保姆级环境搭建与文件管理心法 第一次打开Keil5新建GD32工程时&#xff0c;面对官网下载的几十个库文件&#xff0c;你是否感到无从下手&#xff1f;明明跟着教程一步步操作&#xff0c;最后却发现工程文件散落各处&#xff0c;移…...

新手零压力入门:借助快马ai互动教程轻松搞定node.js安装与环境搭建

最近在学前端开发&#xff0c;发现很多教程都提到要安装Node.js。作为一个纯小白&#xff0c;第一次看到"环境变量"、"包管理器"这些词简直一头雾水。好在发现了InsCode(快马)平台&#xff0c;它把复杂的安装过程变成了可以边学边做的互动教程&#xff0c;…...

SensorMonitor:嵌入式传感器智能调度与状态管理框架

1. SensorMonitor 库深度解析&#xff1a;面向嵌入式系统的智能传感器状态管理框架1.1 设计动机与工程痛点在资源受限的嵌入式系统中&#xff0c;尤其是基于 Arduino 架构的物联网终端节点&#xff08;如电池供电的环境监测器、工业现场传感器网关&#xff09;&#xff0c;传感…...

矢量网络分析仪(VNA)校准实战:从原理到操作全解析

1. 矢量网络分析仪校准的核心原理 第一次接触矢量网络分析仪&#xff08;VNA&#xff09;时&#xff0c;我完全被那些复杂的S参数曲线搞懵了。直到老师傅告诉我&#xff1a;"VNA就是个高级照妖镜&#xff0c;校准就是给它配副好眼镜"。这个比喻让我恍然大悟——没有校…...

别再只用箱线图了!用Python的PtitPrince库5分钟搞定雨云图,数据分布一目了然

数据可视化新选择&#xff1a;用PtitPrince打造专业级雨云图 在数据分析的世界里&#xff0c;可视化工具的选择往往决定了我们能否准确传达数据背后的故事。传统箱线图虽然简洁&#xff0c;却隐藏了太多细节&#xff1b;提琴图展示了分布形态&#xff0c;却丢失了原始数据点。这…...

新手必看!Cesium的NearFarScalar属性详解:从参数配置到常见问题排查

Cesium视觉控制进阶&#xff1a;NearFarScalar属性深度解析与实战技巧 第一次接触Cesium的开发者往往会被其强大的三维可视化能力所震撼&#xff0c;但当真正开始动手实现一个简单的广告牌效果时&#xff0c;却可能被各种参数配置搞得晕头转向。其中&#xff0c;控制广告牌随距…...

如何突破窗口限制?专业窗口调整工具让桌面管理效率提升300%

如何突破窗口限制&#xff1f;专业窗口调整工具让桌面管理效率提升300% 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 你是否曾遇到过这样的困扰&#xff1a;重要的应用程序窗口无…...

告别手动输入!SQLPlus非交互模式执行SQL脚本的3种高效方法(附实例)

告别手动输入&#xff01;SQLPlus非交互模式执行SQL脚本的3种高效方法&#xff08;附实例&#xff09; 在数据库管理和开发工作中&#xff0c;频繁执行SQL脚本是家常便饭。想象一下这样的场景&#xff1a;每天凌晨需要生成报表、定期执行数据清洗任务、或者批量更新生产环境数据…...

如何快速配置罗技鼠标宏:5步实现绝地求生稳定压枪

如何快速配置罗技鼠标宏&#xff1a;5步实现绝地求生稳定压枪 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 在绝地求生的激烈对战中&#xff0…...

FlexASIO音频优化实战指南:从延迟卡顿到高保真体验的转型方案

FlexASIO音频优化实战指南&#xff1a;从延迟卡顿到高保真体验的转型方案 【免费下载链接】FlexASIO A flexible universal ASIO driver that uses the PortAudio sound I/O library. Supports WASAPI (shared and exclusive), KS, DirectSound and MME. 项目地址: https://g…...