目录
使用环境:
一 . 概述
二. 配置环境
1. 前提环境
2. 拷贝sentinel.conf 配置文件
3. 编辑配置文件
4. 启动哨兵
5. 模拟故障转移
使用环境:
当主服务器宕机后,需要手动将一台从服务器切换为主服务器,这就需要人工介入干预,费时费力。因此我们需要配置哨兵模式去代替我们自动完成切换操作。
一 . 概述
Redis Sentinel 是分布式系统中监控 Redis 主从服务器。可以在一个架构中运行多个 Sentinel 进程, 这些进程使用流言协议来接收关于主服务器是否下线的信息, 并使用投票协议来决定是否执行自动故障迁移, 以及选择哪个从服务器作为新的主服务器。其三个特性为:
- 监控(Monitoring):Sentinel 会不断地检查你的主服务器和从服务器是否运作正常;
- 提醒(Notification):当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知;
- 自动故障迁移(Automatic failover):当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作。
作用:
- 通过发送命令,监听Redis服务器运行状态(ping-pong)。
- 当哨兵检测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让他们切换主机。
二. 配置环境
1. 前提环境
(1)Redis启动主从复用
(2)演示Ip说明
| 服务类型 | 是否是主服务器 | IP地址 | 端口 |
|---|---|---|---|
| Redis01 | 是 | 192.168.182.101 | 6379 |
| Redis02 | 否 | 192.168.182.102 | 6379 |
| Redis03 | 否 | 192.168.182.103 | 6379 |
| Sentinel | - | 192.168.182.101 | 26379 |
| Sentinel | - | 192.168.182.102 | 26379 |
| Sentinel | - | 192.168.182.103 | 26379 |
2. 拷贝sentinel.conf 配置文件
从Redis解压目录下复制sentinel.conf 至/usr/redis/conf/下:
3. 编辑配置文件
(1)端口
(2)后台启动
(3)日志
(4)哨兵监控主节点
指示Sentinel去监视一个名为mymaster的主服务器,主服务器的ip为192.168.182.101,端口号为6379,而将这个主服务器判断为失效至少需要1个(一般设为2个)。
(5)主从节点密码
设置master和slaves的密码
(6)哨兵监听主节点下线时间
Sentinel认为服务器已经短线所需的毫秒数(Sentinel服务器ping主服务器在30秒内没有响应 pong,判断断线) 。
(7)故障转移超时时间
(8)sentinel.conf配置主从服务器一致(可通过Xftp直接发送)
4. 启动哨兵
(1)主从服务器启动哨兵(每个)
[root@redis redis]# bin/redis-sentinel conf/sentinel.conf
(2)查看进程
[root@redis redis]# ps -ef | grep redis
(3)查看日志
[root@redis redis]# tail -f /usr/local/redis/log/sentinel.log # 实时加载日志
5. 模拟故障转移
(1)kill -9 杀死主节点进程,然后等待查看日志故障流程。
(2)等待30秒查看日志
(3)查看其他节点角色变化
查看192.168.182.102:
查看192.168.182.103:
(4)重启192.168.182.101:
查看状态:
此时角色已经修改。
测试101是否可读写:
测试结果只读,不可修改:



