redis cluster部署需至少6节点(3主3从),依次完成目录与配置准备、节点启动、redis-cli --cluster创建集群、状态验证及防火墙/系统调优。

如果您希望在Linux系统中构建高可用、分布式、支持数据分片的Redis集群,则需要手动配置多个Redis节点并启用集群模式。以下是完成Redis Cluster部署的具体步骤:
一、准备多节点Redis服务环境
Redis Cluster要求至少6个节点(3主3从)才能正常启动,所有节点必须运行独立的Redis实例,且均需启用集群支持。每个节点需使用独立端口、配置文件和数据目录。
1、创建统一工作目录:mkdir -p /opt/redis-cluster/{7000,7001,7002,7003,7004,7005}
2、将Redis二进制文件(如redis-server、redis-cli)复制到每个子目录中:cp /usr/local/bin/redis-* /opt/redis-cluster/7000/
3、为每个端口目录生成专属配置文件,例如为7000节点创建/opt/redis-cluster/7000/redis.conf,内容包含:port 7000、cluster-enabled yes、cluster-config-file nodes-7000.conf、cluster-node-timeout 5000、appendonly yes、dir /opt/redis-cluster/7000
4、重复步骤3,分别为7001至7005生成对应配置,确保port、cluster-config-file、dir三项值唯一且路径可写。
二、启动全部Redis节点进程
各节点必须以集群模式启动,否则无法参与握手与槽分配。启动顺序无依赖,但所有节点需在执行集群构建前处于运行状态。
1、依次执行以下命令启动6个节点:/opt/redis-cluster/7000/redis-server /opt/redis-cluster/7000/redis.conf
2、验证进程是否存活:ps aux | grep redis-server | grep -E '700[0-5]'
3、检查各节点监听状态:netstat -tuln | grep ':700[0-5]'
三、使用redis-cli --cluster构建集群
Redis 5.0+内置集群管理工具,通过--cluster选项自动完成节点握手、主从指派与16384个槽的初始分配。该过程不可逆,执行前需确认所有节点配置正确且网络互通。
1、执行集群初始化命令(单行输入):/opt/redis-cluster/7000/redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1
2、当提示“Can I set the above configuration?”时,输入yes确认执行。
3、等待输出显示“[OK] All 16384 slots covered”即表示集群构建成功。
四、验证集群状态与节点关系
集群建立后,需确认槽分布、主从映射及节点通信状态是否符合预期。任一节点均可作为入口执行诊断命令。
1、连接任意节点(如7000)并进入集群模式:/opt/redis-cluster/7000/redis-cli -p 7000 -c
2、查询集群整体信息:cluster info
3、列出所有节点及其角色与状态:cluster nodes
4、检查槽分配完整性:cluster slots
五、配置防火墙与系统限制
Linux系统默认防火墙可能阻断集群节点间通信,同时系统文件描述符与内存映射限制不足会导致节点异常退出,必须显式调整。
1、开放全部集群端口(7000–7005)及对应总线端口(端口号+10000):firewall-cmd --permanent --add-port=7000-7005/tcp && firewall-cmd --permanent --add-port=17000-17005/tcp && firewall-cmd --reload
2、临时提升最大文件打开数:ulimit -n 65536
3、永久生效需修改/etc/security/limits.conf,添加两行:* soft nofile 65536、* hard nofile 65536
4、禁用透明大页(THP),防止Redis延迟突增:echo never > /sys/kernel/mm/transparent_hugepage/enabled










