Jast blog Jast blog
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

Jast-zsh

如果你知道你要去哪里,全世界都会给你让路。
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • Ambari自定义服务开发-项目初始化
  • Ambari自定义服务开发-组件安装启动停止卸载介绍
  • Ambari自定义服务开发-自定义服务配置文件在Ambari中的设置方法
    • 设置方法
    • 配置文件设置Custom xxx
    • 配置文件详细的配置方法
      • .xml文件的整体格式
      • 基础参数格式
      • value-attributes配置介绍
      • 设置属性在服务安装后不可修改
      • 设置允许字段为空
      • 是否显示配置名称
      • 参数类型设置
      • 字符串类型
      • Password
      • Boolean
      • Int
      • Float
      • Directory
      • Directories
      • Content-多行文本
      • user-自动创建用户和用户组
  • Ambari自定义服务开发-自定义服务配置文件生成
  • Ambari自定义服务开发-代码如何获取配置参数
  • Ambari自定义服务开发-修改配置文件提示服务重启
  • Ambari自定义服务开发-自定义告警
  • Ambari自定义服务开发-查看历史版本配置
  • Ambari自定义服务开发-调试方法
  • Ambari自定义服务开发-执行Shell命令
  • Ambari自定义服务开发-快捷访问链接生成
  • Ambari自定义服务开发-服务组件启动顺序设置
  • Ambari自定义服务开发-服务组件安装依赖另外一个组件设置
  • Ambari自定义服务开发-监控指标Metrics介绍
  • Ambari自定义服务开发-使用客户端下载配置文件
  • Ambari自定义服务开发-美化(增强型)配置参数设置
  • Ambari自定义服务开发-自定义开发安装包整合到Ambari-Server中
  • Ambari自定义服务开发-自定义脚本运行
  • Ambari自定义服务开发-常用函数
  • Ambari自定义服务开发问题处理-中文乱码
  • Ambari自定义服务开发问题处理-告警项UNKWN
  • Ambari自定义服务开发问题处理-Agent安装服务报错unknown
  • Ambari自定义服务开发问题处理-修改源码配置,服务重启后未生效
  • 《Ambari自定义开发教程》笔记
Jast-zsh
2024-04-08
目录

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

[toc]

官网说明:https://cwiki.apache.org/confluence/display/AMBARI/Configuration+support+in+Ambari (opens new window)

# 设置方法

服务需要配置的参数统一都是由.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>
1
2
3

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

# 配置文件详细的配置方法

# .xml文件的整体格式

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
....
</configuration>
1
2
3
4
5

在<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>
1
2
3
4
5
6

说明:

  • 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>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

# 设置属性在服务安装后不可修改

在<property>标签内添加:

<value-attributes>
  <editable-only-at-install>true</editable-only-at-install>
</value-attributes>
1
2
3

使用样例

<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>
1
2
3
4
5
6
7
8
9

效果

image-20240221150628545

# 设置允许字段为空

在<property>标签内添加:

<value-attributes>
  <empty-value-valid>true</empty-value-valid>
</value-attributes>
1
2
3

使用样例

    <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>
1
2
3
4
5
6
7
8
9

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>
1
2
3
4
5
6

使用样例

     <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>
1
2
3
4
5
6
7
8
9
10
11
12

效果

image-20240407163102901

# 参数类型设置

# 字符串类型
    <property>
        <name>fe_passwd</name>
        <display-name>Frontend密码</display-name>
        <value>  </value>
        <description>默认无密码,用来添加节点、检查节点连接客户端使用</description>
    </property>
1
2
3
4
5
6
# Password
    <property>
        <name>fe_passwd</name>
        <display-name>Frontend密码</display-name>
        <value>  </value>
        <value-attributes>
            <type>password</type>
        </value-attributes>
        <description>默认无密码,用来添加节点、检查节点连接客户端使用</description>
    </property>
1
2
3
4
5
6
7
8
9

样例

image-20240407163809249

# Boolean
    <property>
        <name>test_type_boolean</name>
        <display-name>测试类型-boolean</display-name>
        <value></value>
        <value-attributes>
            <type>boolean</type>
        </value-attributes>
    </property>
1
2
3
4
5
6
7
8

样例

image-20240221151106088

# Int
    <property>
        <name>test_type_int</name>
        <display-name>测试类型-int</display-name>
        <value></value>
        <value-attributes>
            <type>int</type>
        </value-attributes>
    </property>
1
2
3
4
5
6
7
8

样例

image-20240221151154850

# Float
    <property>
        <name>test_type_float</name>
        <display-name>测试类型-float</display-name>
        <value></value>
        <value-attributes>
            <type>float</type>
        </value-attributes>
    </property>
1
2
3
4
5
6
7
8

样例

image-20240221151240720

# Directory

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

    <property>
        <name>test_type_directory</name>
        <display-name>测试类型-directory</display-name>
        <value></value>
        <value-attributes>
            <type>directory</type>
        </value-attributes>
    </property>
1
2
3
4
5
6
7
8

样例

image-20240221151324634

# Directories

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

    <property>
        <name>test_type_directories</name>
        <display-name>测试类型-directories</display-name>
        <value></value>
        <value-attributes>
            <type>directories</type>
        </value-attributes>
    </property>
1
2
3
4
5
6
7
8

样例

image-20240221151409240

# Content-多行文本
    <property>
        <name>test_type_content</name>
        <display-name>测试类型-content</display-name>
        <value></value>
        <value-attributes>
            <type>content</type>
        </value-attributes>
    </property>
1
2
3
4
5
6
7
8

样例

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>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

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

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

#

上次更新: 2024/04/08, 10:55:49
Ambari自定义服务开发-组件安装启动停止卸载介绍
Ambari自定义服务开发-自定义服务配置文件生成

← Ambari自定义服务开发-组件安装启动停止卸载介绍 Ambari自定义服务开发-自定义服务配置文件生成→

最近更新
01
Linux可视化监控
02-26
02
Maven私服搭建
02-26
03
当ElasticSearch时间字段设置多个格式到底是用的哪个?
01-19
更多文章>
Theme by Vdoing | Copyright © 2016-2025 Jast-zsh | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式