Redis高可用架构Sentinel


Redis主从复制搭建及原理》。

2.1 环境说明

  1. CentOS7 3台
  • 192.168.88.110 端口6379 主机名q110(下面统一简称为主机名)
  • 192.168.88.111 端口6379 主机名q111(下面统一简称为主机名)
  • 192.168.88.112 端口6379 主机名q112(下面统一简称为主机名)
  1. Redis-6.2.6

2.2 Sentinel集群配置

Redis 源码中包含了一个名为 sentinel.conf 的文件, 这个文件是一个带有详细注释的 Sentinel 配置文件示例。
由于我们将3台Redis服务器上各自配置1个sentinel来监控本机上的Redis,所以3台服务器可以配置一样。具体如下,如有差异请按需修改:

# 提前创建好sentinel日志目录
touch /var/log/sentinel_6379.log 
# 进入Redis配置目录
cd /etc/redis
# 创建sentinel.conf
vi sentinel.conf

#编写内容如下
# sentinel端口
port xxxx
# 监控的MasterIP及端口,将这个主服务器判断为失效至少需要2个Sentinel同意
sentinel monitor mymaster xxx xxx 2
# 文件需要提前创建好
logfile /var/log/sentinel_6379.log 
# 后台运行
daemonize yes

q110配置

q111配置

q112配置

2.3 启动集群

  1. 启动Redis集群(每台执行)
systemctl start redis_6379
  1. 启动sentinel (每台执行)
redis-server /etc/redis/sentinel.conf --sentinel 

2.4 验证sentinel集群

  1. 确认sentinel集群是否正常
# 查看Redis集群状态
redis-cli -h 192.168.88.110 -p 6379 info replication 
# 查看sentinel集群状态
redis-cli -h 192.168.88.110 -p 26379 info sentinel  

  1. 当手动将Redis master 关闭后查看 slave上sentinel日志