创建集群怎么做
创建集群用 redis-cli --cluster create:把节点地址列出来,再用 --cluster-replicas 指定每个主节点配几个从节点,工具会自动分配槽、建立主从关系并完成握手。硬性要求是所有参与节点都是空库,带数据的节点会导致创建失败或者数据被清掉,所以生产上的标准流程是「先建空集群,再导入数据」。
基本信息
| 命令 | redis-cli --cluster create <节点列表> --cluster-replicas N |
|---|---|
| 节点前置配置 | cluster-enabled yes、cluster-config-file、cluster-node-timeout |
| 槽分配 | 自动把 16384 个槽平均分给主节点 |
| 建前状态 | CLUSTER INFO 显示 fail 属于正常现象 |
| 硬性要求 | 所有节点必须是空库 |
典型使用场景
- 首次搭建 Redis 集群
- 扩容时先加入新节点,再迁移部分槽
- 测试环境快速构建一个可用集群
- 演练建集群流程,记录实际耗时
- 评估主从配比与节点数量是否合理
创建与验证
创建与验证
redis-cli --cluster create \
10.0.0.1:6379 10.0.0.2:6379 10.0.0.3:6379 \
10.0.0.4:6379 10.0.0.5:6379 10.0.0.6:6379 \
--cluster-replicas 1
# 交互确认后自动分配槽、设置主从并完成握手
# 建完之后验证:
redis-cli -c -p 6379 CLUSTER INFO | grep -E "state|slots_assigned"
redis-cli --cluster check 10.0.0.1:6379事项与要求
| 事项 | 要求 | 说明 |
|---|---|---|
| 节点为空 | 硬性要求 | 带数据的节点会失败或丢数据 |
| cluster-enabled | 每个节点都要开启 | 未开启的节点无法加入集群 |
| cluster-node-timeout | 节点超时判定值 | 设置过小容易误判下线 |
| replicas 数量 | 主从配比 | 1 表示每个主节点配一个从节点 |
| 端口规划 | 数据端口与总线端口 | 总线端口默认为数据端口加 10000 |
create 之前节点必须是空库:带数据的节点会导致创建失败或数据被清掉,生产环境请走「先建空集群再导数据」的标准流程,不要抱侥幸心理。
建集群前先确认节点之间网络互通、端口双向可达:握手失败时会一直停在等待节点加入的状态,而日志信息往往不够直观。先用连通性检查跑一轮,比建到一半报错再回头排查要省事得多。
集群总线端口默认是数据端口加 10000,防火墙与安全组要把这个端口一并放行,否则节点之间根本无法通信。