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中的设置方法
  • 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自定义服务开发-服务组件启动顺序设置

[toc]

# 组件启动顺序设置

配置文件名为role_command_order.json,位置在自定义服务的根目录下。

该配置文件主要实现功能就是组织各组件启动、安装、停止等执行的顺序,如启动A服务前必须启动B服务,停止B服务前必须停止A服务等。

在服务器位置

role_command_order.json 文件在  /var/lib/ambari-server/resources/common-services 目录的每个服务下面有,每个 Stack  目录下的服务下面也有 role_command_order.json 。相同的配置,Stack 下面的会覆盖全局的。不同的配置,Ambari  会拼接在一起。高版本的 Stack 会继承低版本的配置。相同的也会覆盖,不同的会合并 。

# 配置文件格式

拿Hbase的配置来举例

{
  "general_deps" : {
    "_comment" : "dependencies for HBase",
    "HBASE_REGIONSERVER-START": ["HBASE_MASTER-START"], # 在启动 HBASE_REGIONSERVER 之前,启动HBASE_MASTER
    "HBASE_SERVICE_CHECK-SERVICE_CHECK": ["HBASE_MASTER-START", "HBASE_REGIONSERVER-START"], # 执行HBASE_SERVICE_CHECK 服务检查前,需要启动HBASE_MASTER和HBASE_REGIONSERVER
    "HBASE_MASTER-STOP": ["HBASE_REGIONSERVER-STOP"], # 在停止HBASE_MASTER服务前,停止HBASE_REGIONSERVER
    "HBASE_MASTER-START": ["NAMENODE-START", "DATANODE-START", "ZOOKEEPER_SERVER-START", "RANGER_USERSYNC-START", "RANGER_KMS_SERVER-START"],
    "PHOENIX_QUERY_SERVER-START": ["HBASE_MASTER-START"]
  }
}
1
2
3
4
5
6
7
8
9
10

格式如下

{
  "_comment": "Section 1 comment",
  "section_name_1": {
    "_comment": "Section containing role command orders",
    "<DEPENDENT_COMPONENT_1>-<COMMAND>": ["<DEPENDS_ON_COMPONENT_1>-<COMMAND>", "<DEPENDS_ON_COMPONENT_1>-<COMMAND>"],
    "<DEPENDENT_COMPONENT_2>-<COMMAND>": ["<DEPENDS_ON_COMPONENT_3>-<COMMAND>"],
    ...
  },
  "_comment": "Next section comment",
  ...
}
1
2
3
4
5
6
7
8
9
10
11

section_name_1 取值

general_deps Command orders are applied in all situations
namenode_optional_ha Command orders are applied when HDFS service is installed and JOURNALNODE component exists (HDFS HA is enabled)
optional_glusterfs Command orders are applied when cluster has instance of GLUSTERFS service
optional_no_glusterfs Command orders are applied when cluster does not have instance of GLUSTERFS service
resourcemanager_optional_ha Command orders are applied when YARN service is installed and multiple RESOURCEMANAGER host-components exist (YARN HA is enabled)

<COMMAND>取值

  • INSTALL
  • UNINSTALL
  • START
  • RESTART
  • STOP
  • EXECUTE
  • ABORT
  • UPGRADE
  • SERVICE_CHECK
  • CUSTOM_COMMAND
  • ACTIONEXECUTE

规则配置样例

"HIVE_METASTORE-START": ["MYSQL_SERVER-START", "NAMENODE-START"] Start MySQL and NameNode components before starting Hive Metastore
"MAPREDUCE_SERVICE_CHECK-SERVICE_CHECK": ["NODEMANAGER-START", "RESOURCEMANAGER-START"], MapReduce service check needs ResourceManager and NodeManagers started
"ZOOKEEPER_SERVER-STOP" : ["HBASE_MASTER-STOP", "HBASE_REGIONSERVER-STOP", "METRICS_COLLECTOR-STOP"], Before stopping ZooKeeper servers, make sure HBase Masters, HBase RegionServers and AMS Metrics Collector are stopped.

# 验证

配置启动顺序如下:SPARK2_JOBHISTORYSERVER -> BACKEND -> FRONTEND

{
  "general_deps" : {
    "_comment" : "dependencies for DORIS",
    "BACKEND-START": ["SPARK2_JOBHISTORYSERVER-START"],
    "FRONTEND-START": ["BACKEND-START"],
    "DORIS_SERVICE_CHECK-SERVICE_CHECK": ["FRONTEND-START"]
  }
}
1
2
3
4
5
6
7
8

没有配置的时候安装完成默认启动顺序如下

image-20240306110337855

单独启动Doirs服务是这样的

image-20240306110704252

将自定义服务更新到服务器上,更新完配置再次安装服务可以看到顺序按照我们设置的运行

image-20240306144753588

单独启动服务发现顺序也按照我们设置的运行

image-20240306145049500

# 参考资料

https://cwiki.apache.org/confluence/display/AMBARI/How-To+Define+Stacks+and+Services#How-ToDefineStacksandServices-RoleCommandOrder

# 相关演示代码

https://download.csdn.net/download/zhangshenghang/88917467

上次更新: 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
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式