如何创建无副本的Redis集群 执行cluster create命令为何无法生成3主节点
无副本3主Redis集群搭建问题解决方案
问题根因
redis-cli --cluster create 命令默认会按照1主1副本的比例自动分配节点角色,未指定副本数参数时,3个节点会被自动分配为1主2从的架构,不符合3主无副本的预期。
完整修复步骤
方式一:重新搭建全新集群(操作最简单,适合测试环境)
- 停止所有3个Redis实例
- 清理每个实例的残留集群数据:删除配置文件中
cluster-config-file指定的节点信息文件、dump.rdb、appendonly.aof,避免旧配置干扰 - 重启所有Redis实例
- 执行带副本数参数的创建命令,指定
--cluster-replicas 0表示所有节点均为主节点、无副本:
redis-cli --cluster create AIP:6379 BIP:6379 CIP:6379 --cluster-replicas 0
- 执行后确认槽位分配规则符合3主平分16384个槽的预期,输入
yes确认创建即可。
方式二:现有集群手动调整(无需重建集群)
- 登录任意集群节点,执行
cluster nodes查询所有节点ID,记录2个从节点的ID - 分别登录2个从节点,执行
cluster replicate no one,将节点从从节点转为独立主节点 - 执行槽位重分配,将16384个槽平均分配给3个主节点,可直接使用重分片命令操作:
redis-cli --cluster reshard 任意集群节点IP:6379
- 按照命令行提示完成槽位分配即可。
内容的提问来源于stack exchange,提问作者George
相关产品推荐
相关产品推荐

