Redis 集群部署独立服务器教程

教程详细介绍了 Redis 集群独立物理服务器上的部署流程,涵盖环境准备(如关闭防火墙配置免密 SSH)、Redis 编译安装节点配置(端口、cluster-enabled、节点超时等关键参数)、使用 redis-cli --cluster 创建六节点(三主三从)集群,以及集群健康检查与基础验证方法,内容注重生产环境实践性,强调配置一致性与网络连通性要求,适用于 Linux 系统下的高可用 Redis 集群搭建。(98字)

Redis 6+ 集群部署实战:三台独立服务器从零搭建高可用集群(无Docker,纯裸机)

Redis 集群是生产环境中保障高可用与水平扩展的方案,本文以三台物理/云服务器(IP 分别为 192.168.1.10、192.168.1.11、192.168.1.12)为例,基于 Redis 7.2(兼容6.x),全程使用源码编译+systemd管理,不依赖 Docker 容器化工具,手把手完成真正独立服务器的集群部署。

✅ 前置准备
每台服务器需:CentOS 7+/Ubuntu 22.04、gcc、make、tcl、openSSL-devel;关闭防火墙或放行端口(7000–7005);确保时间同步(chronyd 启用);各节点间 SSH 免密互通(用于 redis-cli --cluster create 自动分发配置)。

步骤一:编译安装 Redis
在每台服务器执行:

wget HTTPS://download.redis.io/releases/redis-7.2.5.tar.gz  
tar xzf redis-7.2.5.tar.gz && cd redis-7.2.5  
make && sudo make install  
sudo mkdir -p /etc/redis /var/lib/redis/7000  

✅ 步骤二:配置集群节点(以 192.168.1.10 的 7000 实例为例)
创建 /etc/redis/7000.conf

port 7000  
bind 192.168.1.10  
protected-mode yes  
daemonize no  
pidfile /var/run/redis_7000.pid  
logfile "/var/log/redis_7000.log"  
dir /var/lib/redis/7000  
dbfilename dump.rdb  
cluster-enabled yes  
cluster-config-file nodes-7000.conf  
cluster-node-timeout 5000  
appendonly yes  

复制该配置至其余5个实例(192.168.1.10:7001、192.168.1.11:7000/7001、192.168.1.12:7000/7001),仅修改 bindport 字段。

✅ 步骤三:启动全部6个节点
编写 systemd unit(/etc/systemd/system/redis@.service),启用模板化管理:

[Unit]  
Description=Redis Cluster Instance %i  
After=network.target  
[Service]  
Type=simple  
User=redis  
ExecStart=/usr/local/bin/redis-server /etc/redis/%i.conf  
Restart=always  
RestartSec=3  
[Install]  
WantedBy=multi-user.target  

然后执行:

sudo systemctl daemon-reload  
for p in 7000 7001; do sudo systemctl enable --now redis@$p; done  

(其他两台同理,共6个节点)

✅ 步骤四:创建集群
在任意一台服务器执行(确保 redis-cli 可达所有节点):

redis-cli --cluster create \
  192.168.1.10:7000 192.168.1.10:7001 \
  192.168.1.11:7000 192.168.1.11:7001 \
  192.168.1.12:7000 192.168.1.12:7001 \
  --cluster-replicas 1

输入 yes 确认分配——系统将自动划分16384个哈希槽,每主节点负责约5461槽,每主配1从,形成3主3从拓扑。

✅ 验证与运维
连接任一节点:redis-cli -h 192.168.1.10 -p 7000 -c,执行 cluster info 查状态;cluster nodes 查拓扑;写入 SET key:1 value 后跨节点读取验证重定向是否生效。

💡 提示:生产中建议为每个实例配置专属用户(useradd -r -s /bin/false redis),日志轮转(logrotate),并定期备份 nodes-*.conf 文件——它是集群元数据唯一持久化来源。

全文共986字,步骤精炼、命令可直接复用,聚焦真实物理/云服务器场景,拒绝黑盒封装,助你真正掌握 Redis 集群底层逻辑