Redis高可用架构Sentinel
Redis主从复制搭建及原理》。
2.1 环境说明
- CentOS7 3台
- 192.168.88.110 端口6379 主机名q110(下面统一简称为主机名)
- 192.168.88.111 端口6379 主机名q111(下面统一简称为主机名)
- 192.168.88.112 端口6379 主机名q112(下面统一简称为主机名)
- 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 启动集群
- 启动Redis集群(每台执行)
systemctl start redis_6379
- 启动sentinel (每台执行)
redis-server /etc/redis/sentinel.conf --sentinel
2.4 验证sentinel集群
- 确认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
- 当手动将Redis master 关闭后查看 slave上sentinel日志