自顶向下——基于方法论下的Redis集成[五]
# 1.5 services/REDIS/role_command_order.json
文件
在 Ambari 的自定义服务开发中,role_command_order.json
文件用于精确定义服务组件在执行 start
、stop
、service_check
等操作时的执行顺序和依赖关系。
该文件对于集群组件间的有序启动至关重要组件依赖控制 ,尤其在涉及主从结构时,能避免因顺序错误导致服务初始化失败或状态不一致。
# 📜 文件内容结构说明
{
"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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 🧩 关键字段解读
指令 | 依赖关系说明 |
---|---|
REDIS_MASTER-START | 主节点无依赖,最早启动 |
REDIS_SLAVE-START | 依赖 Master 启动后再启 |
REDIS_CLIENT-START | 等待 Master + Slave 启动完毕 |
REDIS_MASTER-STOP | 要等 Slave 全部停止后才能停止 Master |
REDIS_SERVICE_CHECK | 服务检查依赖所有组件已启动 |
注意
若省略依赖顺序设置,可能出现 Slave 启动时找不到主节点、Client 执行命令失败等集群异常情况。