温馨提示×

centos如何集群redis

小樊
36
2026-07-08 07:41:19
栏目: 云计算

CentOS 上搭建 Redis 集群,常见有两种方式:

  1. Redis Cluster(官方推荐,分布式集群)
  2. Redis Sentinel(主从 + 哨兵,高可用)

下面我分别说明,并重点讲 Redis Cluster(生产环境最常用)


一、Redis Cluster(分布式集群)

1️⃣ 环境准备

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

✅ 如果是测试,也可以 一台机器多个端口


2️⃣ 安装 Redis(所有节点)

# 安装依赖
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

3️⃣ 配置 Redis Cluster 节点

创建目录

mkdir -p /etc/redis/7000

示例配置文件 /etc/redis/7000/redis.conf

bind 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

每个节点修改 portdirpidfilelogfile


4️⃣ 启动所有 Redis 实例

redis-server /etc/redis/7000/redis.conf
redis-server /etc/redis/7001/redis.conf
...

检查:

ps -ef | grep redis

5️⃣ 创建 Redis Cluster

方法一(Redis 5+ 推荐)

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 从


6️⃣ 验证集群

redis-cli -c -h 192.168.1.10 -p 7000
cluster nodes
cluster info

测试:

set a 1
get a

✅ 数据会自动路由到正确节点


二、Redis Sentinel(主从高可用)

适合 不需要分片、只做高可用 的场景。

架构

Master
  ├── Slave1
  ├── Slave2
Sentinel(多个)

核心配置

redis.conf(主从)

replicaof 192.168.1.10 6379  # 从节点配置

sentinel.conf

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

❓ 集群无法握手

  • 所有节点必须 互通
  • 使用 真实 IP,不要用 127.0.0.1

四、生产建议 ✅

项目 建议
节点数 至少 6 个
部署 不同机器
版本 Redis 6+
客户端 支持 Cluster
监控 Redis Exporter + Prometheus

如果你愿意,我可以:

  • ✅ 给你 一台机器多端口 的测试方案
  • ✅ 给你 生产环境完整部署脚本
  • ✅ 讲 Redis Cluster 原理 + 数据分片

你现在是 学习测试 还是 生产部署

0