Redis 集群部署独立服务器教程
本文介绍了Redis集群在独立服务器上的部署教程,涵盖环境准备、Redis编译安装、配置文件修改(启用cluster模式、绑定IP、设置端口等)、创建集群节点、使用redis-cli --cluster工具完成节点握手与槽分配等关键步骤,并强调了防火墙配置、内存优化及故障排查要点,适用于生产环境的高可用Redis集群搭建。
Redis 6.2+ 集群部署实战:三台独立服务器从零搭建高可用分布式缓存
在生产环境中,单机 Redis 易成瓶颈且无容错能力,本文以三台物理/云服务器(IP 分别为 192.168.1.10、192.168.1.11、192.168.1.12)为例,基于 Redis 6.2.6(官方推荐稳定版),手把手完成真正独立部署的 Redis Cluster——所有节点均运行在隔离服务器上,无容器、无虚拟化依赖,强调网络配置、防火墙策略与故障自愈逻辑。
✅ 前提准备
每台服务器需:CentOS 7+/Ubuntu 20.04、4GB 内存、开放端口 7000–7005(建议每个节点启用6个端口:3主3从)、禁用 swap(echo 'vm.swappiness=0' >> /etc/sysctl.conf && sysctl -p)。
🔧 步骤一:统一安装与基础配置
在三台机器上执行:
# 下载编译(避免包管理器版本滞后) wget HTTPS://download.redis.io/releases/redis-6.2.6.tar.gz tar xzf redis-6.2.6.tar.gz && cd redis-6.2.6 && make && sudo make install # 创建集群目录结构(每台均执行) sudo mkdir -p /data/redis/{7000,7001} sudo chown -R $USER:$USER /data/redis
创建 /data/redis/7000/redis.conf(以 192.168.1.10 的 7000 节点为例,其余节点仅修改 bind 和 port):
port 7000 bind 192.168.1.10 protected-mode no daemonize yes pidfile /var/run/redis_7000.pid logfile "/data/redis/7000/redis.log" dir /data/redis/7000 cluster-enabled yes cluster-config-file nodes-7000.conf cluster-node-timeout 5000 appendonly yes # 关键:禁止 AOF 重写阻塞集群通信(生产建议关闭 auto-aof-rewrite) auto-aof-rewrite-percentage 0
⚠️ 注意:每台服务器部署 2个节点(如 192.168.1.10 运行 7000 主 + 7001 从),确保 3 主 3 从跨服务器分布,避免单点失效。
🚀 步骤二:启动全部节点
在每台服务器上依次启动:
redis-server /data/redis/7000/redis.conf redis-server /data/redis/7001/redis.conf
验证:redis-cli -h 192.168.1.10 -p 7000 cluster info | grep cluster_state → 应显示 fail(尚未组网)。
🌐 步骤三:跨服务器初始化集群
在任意一台机器(如 192.168.1.10)执行(需提前安装 redis-cli):
redis-cli --cluster create \ 192.168.1.10:7000 192.168.1.11:7000 192.168.1.12:7000 \ 192.168.1.10:7001 192.168.1.11:7001 192.168.1.12:7001 \ --cluster-replicas 1 --cluster-yes
该命令自动分配主从、握手、槽位(16384 slots)分片,成功后输出 All 16384 slots covered。
🔍 验证与运维要点
- 查看拓扑:
redis-cli -h 192.168.1.10 -p 7000 cluster nodes | grep master - 模拟故障:
kill -9 $(pgrep -f "redis.conf.*7000"),观察日志中Fail!→fail?→ 自动触发从节点升主(约10秒内恢复) - 防火墙必须放行:
sudo ufw allow from 192.168.1.0/24 to any port 7000:7005 proto tcp(Ubuntu)或firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="7000-7005" protocol="tcp" accept'(CentOS)
💡 关键经验总结
- 独立≠孤立:各服务器间需低延迟网络(建议内网互通,RTT < 1ms);
- 端口规划:每个节点预留6端口(7000–7005),便于后续扩展及故障诊断;
- 配置一致性:
cluster-node-timeout建议设为 5000ms,过短易误判,过长影响故障转移速度; - 备份策略:对
nodes-*.conf文件每日 rsync 到中心存储——集群元数据丢失将导致整个集群不可用。
至此,一个真正跨物理服务器、具备自动分片与故障转移能力的 Redis 集群已就绪,无需额外中间件,原生支持读写分离与水平扩展,是中小规模高并发场景的理想选择。(全文共1432字)
热门产品
弹性云服务器
强悍硬件配置结合弹性云服务器采用纯SSD架构硬件设备,只需几分钟,便可轻松云端获取和启用,实现您的计算需求。
立刻选购跨境云服务器
助力出海业务快速部署我们在全球多个地域,和可用区部署云数据中心,并采用CN2网络,优化网络访问体验 瞬达全球。
立刻选购企业邮箱
让邮件畅通全球让每一封商务邮件高效送达安全稳定企业邮箱 深耕行业廿余载,业内首推外贸专属邮箱,让邮件畅通全球。
立刻选购裸金属服务器
主流服务器配置裸金属服务器 弹性伸缩的高性能计算服务 可根据客户行业和业务特点,个性化定制服务器租用方案。
立刻选购