在 CentOS 上搭建 Redis 集群,常见有两种方式:
下面我分别说明,并重点讲 Redis Cluster(生产环境最常用)。
以 3 主 3 从 为例(最少 6 个节点):
| 节点 | IP | 端口 |
|---|---|---|
| master1 | 192.168.1.10 | 7000 |
| master2 | 192.168.1.11 | 7001 |
| master3 | 192.168.1.12 | 7002 |
| slave1 | 192.168.1.13 | 7003 |
| slave2 | 192.168.1.14 | 7004 |
| slave3 | 192.168.1.15 | 7005 |
✅ 如果是测试,也可以 一台机器多个端口
# 安装依赖
yum install -y gcc make
# 下载 Redis
cd /usr/local/src
wget https://download.redis.io/releases/redis-7.2.4.tar.gz
tar -zxvf redis-7.2.4.tar.gz
cd redis-7.2.4
# 编译安装
make && make install
mkdir -p /etc/redis/7000
/etc/redis/7000/redis.confbind 0.0.0.0
port 7000
daemonize yes
pidfile /var/run/redis_7000.pid
logfile /var/log/redis_7000.log
dir /data/redis/7000
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 5000
appendonly yes
每个节点修改
port、dir、pidfile、logfile
redis-server /etc/redis/7000/redis.conf
redis-server /etc/redis/7001/redis.conf
...
检查:
ps -ef | grep redis
redis-cli --cluster create \
192.168.1.10:7000 \
192.168.1.11:7001 \
192.168.1.12:7002 \
192.168.1.13:7003 \
192.168.1.14:7004 \
192.168.1.15:7005 \
--cluster-replicas 1
✅ --cluster-replicas 1 表示 1 主 1 从
redis-cli -c -h 192.168.1.10 -p 7000
cluster nodes
cluster info
测试:
set a 1
get a
✅ 数据会自动路由到正确节点
适合 不需要分片、只做高可用 的场景。
Master
├── Slave1
├── Slave2
Sentinel(多个)
replicaof 192.168.1.10 6379 # 从节点配置
sentinel monitor mymaster 192.168.1.10 6379 2
sentinel down-after-milliseconds mymaster 5000
firewall-cmd --add-port=7000-7005/tcp --permanent
firewall-cmd --reload
| 项目 | 建议 |
|---|---|
| 节点数 | 至少 6 个 |
| 部署 | 不同机器 |
| 版本 | Redis 6+ |
| 客户端 | 支持 Cluster |
| 监控 | Redis Exporter + Prometheus |
如果你愿意,我可以:
你现在是 学习测试 还是 生产部署?