搭建Redis 7.2集群并启用哨兵模式,可以确保高可用性和故障转移。以下是详细的步骤来设置Redis 7.2集群的哨兵模式:

1. 环境准备

确保你有多个服务器或虚拟机来部署Redis实例和哨兵节点。通常建议至少有3个Redis实例和3个哨兵节点。

2. 安装Redis

在每个服务器上安装Redis 7.2。你可以使用包管理工具或从源码编译安装。

例如,使用包管理工具安装:

1
2
sudo apt-get update
sudo apt-get install redis-server

或者从源码编译安装:

1
2
3
4
5
wget http://download.redis.io/releases/redis-7.2.0.tar.gz
tar xzf redis-7.2.0.tar.gz
cd redis-7.2.0
make
sudo make install

3. 配置Redis主从复制

主节点配置

编辑主节点的配置文件 redis.conf

1
2
3
4
bind 0.0.0.0
port 6379
dir /var/lib/redis
appendonly yes

启动Redis主节点:

1
redis-server /path/to/redis.conf

从节点配置

编辑从节点的配置文件 redis.conf,添加以下内容以指定主节点:

1
2
3
4
bind 0.0.0.0
port 6379
dir /var/lib/redis
replicaof <主节点IP> 6379

启动Redis从节点:

1
redis-server /path/to/redis.conf

4. 配置Redis哨兵

在每个哨兵节点上创建哨兵配置文件 sentinel.conf,内容如下:

1
2
3
4
5
6
port 26379
dir /tmp
sentinel monitor mymaster <主节点IP> 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1

启动哨兵:

1
redis-sentinel /path/to/sentinel.conf

5. 验证配置

使用 redis-cli 连接到主节点和从节点,确认主从复制正常:

1
2
redis-cli -h <主节点IP> info replication
redis-cli -h <从节点IP> info replication

在哨兵节点上,确认哨兵监控正常:

1
redis-cli -p 26379 info sentinel

6. 测试高可用性

关闭主节点,观察哨兵如何选举新的主节点:

1
sudo systemctl stop redis-server

然后,使用 redis-cli 连接到新的主节点,确认角色变更:

1
redis-cli -h <新主节点IP> info replication

总结

通过以上步骤,你可以成功搭建Redis 7.2集群并启用哨兵模式,以实现高可用性和自动故障转移。请根据你的实际环境和需求,调整配置文件中的参数。