TT Bigdata TT Bigdata
首页
GitHub (opens new window)
JaneTTR

JaneTTR

数据酿造智慧,每一滴都是沉淀!
  • Ambari 深度专题

  • Bigtop 方法论

  • 自定义集成

  • Ambari Server 与 Web

  • Ambari Metrics

  • Ambari Plus 思考

  • Redis集成实战

    • Bigtop通用部分

    • Bigtop打包部分

    • Ambari部分

      • Step10-Stacks-包结构
      • Step11-Stacks-组件编排
      • Step12-Stacks-配置文件
      • Step13-Stacks-模板文件
      • Step14-Scripts-环境变量
      • Step15-Scripts-执行逻辑
      • Step16-Scripts-服务检查
      • Step17-Scripts-组件优先级
        • 1. 组件优先级配置文件介绍
        • 2. role_command_order.json 配置内容
        • 3. 优先级依赖详细解读
          • 3.1 启动顺序说明
          • 3.2 停止顺序说明
          • 3.3 服务检查依赖
        • 4. 工程应用与自动化价值
      • Step18-衔接-打通Ambari与Bigtop
  • 通用代码模板

  • 各组件代码

  • 技术专题
  • Redis集成实战
  • Ambari部分
JaneTTR
2025-06-24
目录
1. 组件优先级配置文件介绍
2. role_command_order.json 配置内容
3. 优先级依赖详细解读
3.1 启动顺序说明
3.2 停止顺序说明
3.3 服务检查依赖
4. 工程应用与自动化价值

Step17-Scripts-组件优先级

# 1. 组件优先级配置文件介绍

在 Ambari Stacks 的服务集成体系下,每个服务的启动、停止与服务检查都可以定义严格的优先级和依赖关系 ,用于保证复杂分布式环境下各组件的有序调度。

Redis 组件的优先级配置存放于:

ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/REDIS/role_command_order.json
1

# 2. role_command_order.json 配置内容

以下为 Redis 组件典型的优先级声明:

{
  "general_deps": {
    "_comment": "Updated dependencies for Redis components in a cluster mode",
    "REDIS_MASTER-START": [],
    "REDIS_SLAVE-START": [
      "REDIS_MASTER-START"
    ],
    "REDIS_CLIENT-START": [
      "REDIS_MASTER-START",
      "REDIS_SLAVE-START"
    ],
    "REDIS_MASTER-STOP": [
      "REDIS_SLAVE-STOP"
    ],
    "REDIS_SLAVE-STOP": [],
    "REDIS_CLIENT-STOP": [],
    "REDIS_SERVICE_CHECK-SERVICE_CHECK": [
      "REDIS_MASTER-START",
      "REDIS_SLAVE-START",
      "REDIS_CLIENT-START"
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 3. 优先级依赖详细解读

# 3.1 启动顺序说明

操作 必须依赖 说明
REDIS_MASTER-START 无 Master 可最先启动
REDIS_SLAVE-START REDIS_MASTER-START Slave 必须等待 Master 启动后再启动
REDIS_CLIENT-START Master、Slave 启动 Client 通常依赖服务端全部正常后才进行测试等操作
  • 为什么这么设计? Master 是集群核心,必须先启动。Slave 启动时要确保可以连通 Master,并自动完成主从注册与同步。Client 主要面向连通性测试、运维工具,需依赖前端服务全部就绪。

# 3.2 停止顺序说明

操作 必须依赖 说明
REDIS_MASTER-STOP REDIS_SLAVE-STOP 停 Master 前要先停 Slave,避免主节点先失联导致从节点无主
REDIS_SLAVE-STOP 无 Slave 可直接安全下线
REDIS_CLIENT-STOP 无 Client 无状态,随时可停
  • 场景意义:优先停 Slave,保障数据不丢失、集群完整性不受影响。Master 最后停止,有利于平滑切换和最小化业务影响。

# 3.3 服务检查依赖

操作 必须依赖 说明
REDIS_SERVICE_CHECK-SERVICE_CHECK Master、Slave、Client 全部启动 只有核心服务和工具全部 ready 后才能做集群健康检查
  • 场景意义:检查只在全体组件都启动后才生效,确保 Service Check 能反映集群的真实整体状态。

# 4. 工程应用与自动化价值

提示

  • 配置了 role_command_order.json 后,Ambari 可在复杂集群批量操作时,严格按优先级顺序依赖,防止异常顺序导致数据不一致或服务异常。
  • 优先级自动调度提升了批量安装、扩容、滚动升级、健康检查等任务的自动化和安全性。
  • 支持随业务和集群规模扩展灵活调整依赖规则,保障长期可维护性。
#Redis#Stack集成#集成案例#Bigtop#自动化部署#版本适配
Step16-Scripts-服务检查
Step18-衔接-打通Ambari与Bigtop

← Step16-Scripts-服务检查 Step18-衔接-打通Ambari与Bigtop→

最近更新
01
当前版本 2026/08
08-29
02
把 Ambari Server HA 稳稳地跑起来
08-17
03
从一次启用操作追到主备就绪
08-17
更多文章>
Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式