Undermoon HTTP API完全手册:集群管理与监控的高效操作指南
【免费下载链接】undermoonMordern Redis Cluster solution for easy operation.项目地址: https://gitcode.com/gh_mirrors/un/undermoon
Undermoon是一个现代化的Redis集群解决方案,通过强大的HTTP API实现简单高效的集群管理与监控。本文将全面介绍Undermoon的HTTP API功能,帮助新手和普通用户快速掌握集群创建、节点管理、故障处理等核心操作。
一、API基础概述 📋
Undermoon的HTTP API采用RESTful设计风格,所有请求和响应均使用JSON格式,通过HTTP 200状态码标识成功或失败。主要包含两类API:基础的Broker HTTP API和扩展的Memory Broker API,后者是前者的超集,提供更丰富的集群管理功能。
1.1 API版本与路径规范
- 基础路径:
/api/v3/ - 核心文档:Broker HTTP API、Memory Broker API
- 配置文件:mem-broker.toml(定义HTTP API地址)
二、集群管理核心API 🔧
2.1 集群创建与配置
创建集群
请求:POST /api/v3/clusters/meta/<cluster_name>
参数:
{ "node_number": 8 // 必须是4的倍数 }成功响应:HTTP 200
错误码:
INVALID_CLUSTER_NAME:集群名称包含非法字符NO_AVAILABLE_RESOURCE:资源不足
获取集群元数据
请求:GET /api/v3/clusters/meta/<cluster_name>
响应示例:
{ "cluster": { "name": "mycluster", "epoch": 1, "nodes": [{ "address": "redis9:6379", "proxy_address": "server_proxy5:6005", "slots": [[0, 8191]] }] } }2.2 节点扩缩容操作
动态添加节点
请求:PATCH /api/v3/clusters/nodes/<cluster_name>
参数:
{ "node_number": 4 // 新增节点数量(4的倍数) }自动扩缩容迁移
请求:POST /api/v3/clusters/migrations/auto/<cluster_name>/<node_number>
- 扩容:自动添加节点并启动迁移
- 缩容:仅收缩槽位,需手动删除空闲节点
三、监控与故障处理 🚨
3.1 集群状态监控
获取集群信息
请求:GET /api/v3/clusters/info/<cluster_name>
响应示例:
{ "name": "mycluster", "node_number": 8, "is_migrating": false }查看失败代理
请求:GET /api/v3/proxies/failed/addresses
响应:
{ "addresses": ["server_proxy1:6001"] }3.2 故障转移与恢复
触发故障转移
请求:POST /api/v3/proxies/failover/<server_proxy_address>
成功响应:返回新主节点信息
资源故障检查
请求:POST /api/v3/resources/failures/check
响应:
{ "hosts_cannot_fail": ["host1"] // 资源不足的主机列表 }四、实用操作指南 💡
4.1 快速初始化集群
通过Docker Compose部署后,可执行初始化脚本注册存储资源:
git clone https://gitcode.com/gh_mirrors/un/undermoon cd undermoon/examples/mem-broker ./init.sh # 通过HTTP API自动完成集群注册4.2 配置压缩策略
请求:PATCH /api/v3/clusters/config/<cluster_name>
参数:
{ "compression_strategy": "set_get_only" // 仅压缩SET/GET命令 }4.3 元数据备份与恢复
导出元数据
请求:GET /api/v3/metadata
恢复元数据
请求:PUT /api/v3/metadata
注意:仅用于调试,生产环境需谨慎使用
五、API错误码速查 📚
| 错误码 | 含义 | 处理建议 |
|---|---|---|
CLUSTER_NOT_FOUND | 集群不存在 | 检查集群名称拼写 |
MIGRATION_RUNNING | 迁移中 | 等待当前迁移完成 |
NO_AVAILABLE_RESOURCE | 资源不足 | 添加更多代理节点 |
RETRY | 操作冲突 | 稍后重试请求 |
通过本文介绍的Undermoon HTTP API,您可以轻松实现Redis集群的自动化管理与监控。无论是新手还是资深用户,都能快速掌握集群创建、扩缩容、故障处理等关键操作,提升Redis集群的运维效率。更多高级功能请参考官方文档:docs/。
【免费下载链接】undermoonMordern Redis Cluster solution for easy operation.项目地址: https://gitcode.com/gh_mirrors/un/undermoon
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考