在 CentOS 上配置 Redis 集群(Redis Cluster),通常推荐使用 Redis 官方 Cluster 模式(无中心节点)。下面给你一个从零开始的完整实操指南(以 Redis 6.x / 7.x 为例)。
最少 3 个 master + 3 个 replica(6 个节点)
| 节点 | IP | 端口 |
|---|---|---|
| node1 | 192.168.1.101 | 7001 |
| node2 | 192.168.1.102 | 7002 |
| node3 | 192.168.1.103 | 7003 |
| node4 | 192.168.1.104 | 7004 |
| node5 | 192.168.1.105 | 7005 |
| node6 | 192.168.1.106 | 7006 |
如果是单机测试,也可以在一台机器上用不同端口。
yum install -y gcc make
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/cluster/7001
cd /etc/redis/cluster/7001
port 7001
bind 0.0.0.0
daemonize yes
pidfile /var/run/redis_7001.pid
logfile /var/log/redis_7001.log
cluster-enabled yes
cluster-config-file nodes-7001.conf
cluster-node-timeout 5000
appendonly yes
dir /etc/redis/cluster/7001
其他节点只需改端口和路径即可
每个节点执行:
redis-server /etc/redis/cluster/7001/redis.conf
检查:
ps -ef | grep redis
在任意一台节点执行:
redis-cli --cluster create \
192.168.1.101:7001 \
192.168.1.102:7002 \
192.168.1.103:7003 \
192.168.1.104:7004 \
192.168.1.105:7005 \
192.168.1.106:7006 \
--cluster-replicas 1
说明:
--cluster-replicas 1:每个 master 1 个 replicaredis-cli -c -h 192.168.1.101 -p 7001
cluster info
cluster nodes
测试写入:
set foo bar
get foo
firewall-cmd --zone=public --add-port=7001-7006/tcp --permanent
firewall-cmd --reload
redis-cli --cluster check 192.168.1.101:7001
redis-cli --cluster add-node new_ip:port existing_ip:port
redis-cli --cluster reshard existing_ip:port
cluster-enabled yesnodes-*.conf 再试如果你需要:
告诉我你的使用场景,我可以给你对应方案。