2.哨兵模式
有了主从复制的实现之后,我们如果想从服务器进行监控,那么在redis2.6以后提供了一个”哨兵“机制,并在2.8版本以后功能稳定起来。
哨兵:顾名思义,就是监控Redis系统的运行状况。其主要功能有两点:
(1)监控主数据库和从数据库是否正常运行;
(2)主数据库出现故障时,可以自动将从数据库转换为主数据库,实现自动切换。
2.1 实现步骤
在其中一台从服务器配置sentinel.conf,如 135 (为什么要选一台从服务器:主服务器宕机,监听就无法实现,主从服务器都宕机,即便是有监听也没得切换了。当然,如果有多余的机器,可以在新机器上单独部署)。
(1)copy文件sentinel.conf到 /usr/local/redis/conf 中
[root@localhost ~]# cp /usr/local/src/redis3.2/sentinel.conf /usr/local/redis/conf/
(2)修改 sentinel.conf 文件
[root@localhost ~]# vim /usr/local/redis/conf/sentinel.conf
dir: 日志路径,根据自己的要求保存。
sentinel monitor mymaster 10.0.31.144 6379 1
解释 : #名称 # ip #端口号 # 投票选举次数(即有多少篇就被选举为主,这里节点少,就配置为1)。
sentinel down-after-millisecond mymaster 5000
解释:哨兵程序多久去监控一次集群,#默认 1s 检查一次,这里配置超时5000毫秒为宕机。
sentinel failover-timeout mymaster 900000
解释:若哨兵在 该配置值内未完成failover操作(即发生故障时,m/s切换),本次failover失败
sentinel parallel-syncs mymaster 1
解释:有多少个从节点
(3)启动sentinel哨兵
/usr/local/redis/bin/redis-server /usr/local/redis/conf/sentinel.conf --sentinel &
(4)查看哨兵相关消息命令
/usr/local/redis/bin/redis-cli -h 10.0.31.135 -p 26379 info sentinel
(5)关闭主服务器查看集群信息:
/usr/local/redis/bin/redis-cli -h 10.0.31.144 -p 26379 6379 shutdown