自顶向下——基于方法论下的Redis集成[一]
# 1、stacks 结构构件
# 1.1 组件服务包目录结构
Redis 的 Stack 集成目录采用标准层级组织,涵盖配置定义、服务元信息、执行脚本与模板资源,整体结构如下:
.
+--- configuration
| +--- redis-env.xml # 环境变量配置(如端口、用户、日志目录等)
| +--- redis-site.xml # Redis 功能参数配置(持久化、集群、连接数等)
+--- metainfo.xml # 服务元信息定义 —— Stack 的“中央大脑”
+--- package
| +--- scripts
| | +--- params.py # 跨平台入口参数解析(windows/linux)
| | +--- params_linux.py # 实际用于解析 config 字典内容的桥梁
| | +--- redis_client.py # Redis 客户端逻辑(安装为主)
| | +--- redis_master.py # Redis Master 角色脚本(启动/配置)
| | +--- redis_slave.py # Redis Slave 角色脚本(集群化控制重点)
| | +--- service_check.py # Redis 服务健康检查入口
| | +--- __init__.py
| +--- templates
| | +--- redis-env.sh.j2 # 环境变量模板(当前暂未启用)
| | +--- redis.conf.j2 # 主配置模板,最终生成 redis.conf
+--- role_command_order.json # 角色启动/停止顺序依赖控制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
提示
其中 params_linux.py
是脚本层的配置聚合中枢,集中完成角色判断、路径拼装、端口提取等操作,是整个包中最先被加载的脚本之一。
建议在开发其他组件时亦参考该组织方式,结构清晰 便于统一管理、调试与后期集成 Ambari UI 向导流程。