首页/数据/数据库速查/创建集群(redis-cli --cluster create)
Redis 运维与场景124 条

创建集群(redis-cli --cluster create)

用 --cluster create 一次组建:列出节点 + --cluster-replicas N 自动分配主从;要求所有节点为空库(有数据需先 FLUSHALL 或手动方案)。

数据库速查数据更新于 2026-10-13

创建集群怎么做

创建集群用 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,防火墙与安全组要把这个端口一并放行,否则节点之间根本无法通信。

易错点

  • 节点上已有数据就直接建集群:报错或者数据被清掉
  • 跨网络建集群但端口不通:一直卡在等待节点加入
  • 防火墙只放行数据端口:节点之间无法完成握手
  • 槽分配完成后不做检查:状态与预期不符却无人发现

数据来源与参考

  • Redis 官方文档: 创建集群
  • Redis 官方文档: redis-cli --cluster

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌