温馨提示×

如何集群部署CentOS Redis

小樊
50
2026-08-03 13:47:37
栏目: 云计算

下面以 CentOS 7/8 为例,系统讲解 Redis 集群(Redis Cluster) 的部署方式,适合生产环境。
示例中使用 6 个节点(3 主 3 从),这是 Redis 官方推荐的最小集群规模。


一、环境准备

1. 服务器规划(示例)

主机 IP 端口
node1 192.168.1.101 6379
node2 192.168.1.102 6379
node3 192.168.1.103 6379
node4 192.168.1.104 6379
node5 192.168.1.105 6379
node6 192.168.1.106 6379

✅ 生产环境建议 3 主 3 从
✅ 可以在同一台机器用不同端口测试(不推荐生产)


2. 关闭防火墙 / SELinux(或放行端口)

# 防火墙
systemctl stop firewalld
systemctl disable firewalld

# SELinux
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

二、安装 Redis(所有节点)

方式一:YUM 安装(推荐)

yum install -y epel-release
yum install -y redis

方式二:编译安装(可选)

yum install -y gcc make
wget https://download.redis.io/redis-stable.tar.gz
tar -zxvf redis-stable.tar.gz
cd redis-stable
make && make install

三、配置 Redis Cluster(每个节点)

1. 创建目录

mkdir -p /etc/redis/cluster
mkdir -p /var/lib/redis

2. 编辑 redis.conf(核心配置)

vi /etc/redis/cluster/redis-6379.conf
bind 0.0.0.0
port 6379
daemonize yes
pidfile /var/run/redis_6379.pid
logfile /var/log/redis_6379.log

dir /var/lib/redis
dbfilename dump.rdb

appendonly yes
appendfilename "appendonly.aof"

cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 5000

✅ 关键参数说明:

参数 说明
cluster-enabled 开启集群
cluster-config-file 集群节点信息
cluster-node-timeout 节点超时时间

四、启动 Redis(所有节点)

redis-server /etc/redis/cluster/redis-6379.conf

检查:

ps -ef | grep redis

五、创建 Redis Cluster

⚠️ 只需在一台机器执行

1. 使用 redis-cli 创建集群

redis-cli --cluster create \
192.168.1.101:6379 \
192.168.1.102:6379 \
192.168.1.103:6379 \
192.168.1.104:6379 \
192.168.1.105:6379 \
192.168.1.106:6379 \
--cluster-replicas 1

--cluster-replicas 1
表示 每个主节点 1 个从节点


2. 确认集群状态

redis-cli -h 192.168.1.101 -p 6379 cluster nodes
redis-cli -h 192.168.1.101 -p 6379 cluster info

六、测试 Redis Cluster

redis-cli -c -h 192.168.1.101 -p 6379
set foo bar
get foo

-c 表示以 集群模式 连接(自动重定向)


七、常见运维操作

1. 查看集群状态

redis-cli --cluster check 192.168.1.101:6379

2. 添加新节点(扩容)

redis-cli --cluster add-node 新IP:6379 现有IP:6379

再分配槽位:

redis-cli --cluster reshard 现有IP:6379

3. 删除节点

redis-cli --cluster del-node IP:6379 节点ID

八、生产环境建议

✅ 使用 systemd 管理 Redis
✅ 开启 密码认证(requirepass / masterauth)
✅ 配置 监控(Prometheus + Grafana)
✅ 定期备份 RDB / AOF
✅ 避免单台机器部署多个实例(除非测试)


九、常见问题

❌ 集群无法创建

  • 端口未开放
  • 防火墙未关闭
  • 节点已有旧数据

✅ 清理:

rm -f /var/lib/redis/*
rm -f /var/run/redis*

如果你需要:

  • 单机多实例集群
  • CentOS 6
  • 带密码的 Redis Cluster
  • Docker / Kubernetes 部署

可以直接告诉我,我给你对应方案。

0