Redis集群

创建集群目录(SSH 执行)

# 创建集群总目录
mkdir -p /www/server/redis-cluster/{7000,7001}
# 进入redis主目录
cd /www/server/redis
# 复制原生配置到两个实例文件夹
cp redis.conf /www/server/redis-cluster/7000/
cp redis.conf /www/server/redis-cluster/7001/

修改 7000 实例配置(宝塔文件管理器编辑 /www/server/redis-cluster/7000/redis.conf)

# 基础端口
port 7000
# 进程、日志、数据分离
pidfile /www/server/redis-cluster/7000/redis.pid
logfile /www/server/redis-cluster/7000/redis.log
dir /www/server/redis-cluster/7000
dbfilename dump.rdb

# 网络(必须填本机内网IP,不能127.0.0.1)
bind 0.0.0.0
protected-mode no

# 密码统一
requirepass Redis@888
masterauth Redis@888

# 集群核心开关
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 15000

# 持久化
appendonly yes
appendfsync everysec
daemonize yes

修改 7001 实例配置(只改 port、pid、log、dir、nodes 文件名,其余完全相同)

port 7001
pidfile /www/server/redis-cluster/7001/redis.pid
logfile /www/server/redis-cluster/7001/redis.log
dir /www/server/redis-cluster/7001
cluster-config-file nodes-7001.conf
# 剩下bind、密码、集群、持久化全部和7000一致

宝塔面板 → 安全 → 放行端口:

7000,7001,17000,17001

云服务器还要去云厂商安全组放行以上端口,否则节点之间不通。

启动两台 Redis 实例(SSH 执行)

# 启动7000
/www/server/redis/src/redis-server /www/server/redis-cluster/7000/redis.conf
# 启动7001
/www/server/redis/src/redis-cluster/7001/redis.conf

验证进程

ps -ef | grep redis-server

能看到两条带 [cluster] 的进程代表启动成功。

二、3 台机器 IP 规划(示例)

  • 机器 A:192.168.1.100 实例 7000、7001
  • 机器 B:192.168.1.101 实例 7000、7001
  • 机器 C:192.168.1.102 实例 7000、7001

三、任意一台服务器 SSH 执行【创建集群命令】

核心:--cluster-replicas 1 自动跨机分配主从,不会一台机器同时放主 + 副本

/www/server/redis/src/redis-cli -a Redis@888 --cluster create \
192.168.1.100:7000 192.168.1.101:7000 192.168.1.102:7000 \
192.168.1.100:7001 192.168.1.101:7001 192.168.1.102:7001 \
--cluster-replicas 1

回车后会打印主从分配方案 输入 yes 确认 出现 [OK] All 16384 slots covered. = 集群搭建完成

四、集群校验与连接测试

1. 集群模式登录(必须带 -c)

/www/server/redis/src/redis-cli -c -a Redis@888 -h 192.168.1.100 -p 7000

2. 集群内查询状态

# 查看集群整体状态
cluster info
# 查看所有节点、主从、节点ID
cluster nodes

3. 外部完整校验槽位

/www/server/redis/src/redis-cli -a Redis@888 --cluster check 192.168.1.100:7000
上一篇 Docker 一键部署qBittorrent