有了主从复制的实现以后,我们如果想对主从服务器进行监控,那么在redis2.6以后提供了一个“哨兵”的机制,在2.6版本中的哨兵为1.0版本,并不稳定,会出现各种各样的问题。在2.8以后的哨兵功能才稳定下来。
顾名思义,哨兵的含义就是监控Redis系统的运行状况。其主要功能有两点:
1.监控主数据库和从数据库是否正常运行
2.主数据出现故障时,可以自动将从数据库转换为主数据库,实现自动切换
实现步骤:在其中一台的从服务器配置sentinel.conf
(1)copy文件sentinel.conf到/usr/local/redis/etc/中
(2)修改sentinel.conf文件:
这是默认的
# sentinel通讯端口
port 26379
# sentinel需要监控的master/slaver信息,格式为sentinel monitor <mastername> <masterIP> <masterPort> <quorum>
# 其中<quorum>应该小于集群中slave的个数,当失效的节点数超过了<quorum>,则认为整个体系结构失效
sentinel monitor redisMaster 192.168.154.101 6379 2
# master被当前sentinel实例认定为失效的间隔时间,格式为sentinel down-after-milliseconds <mastername> <milliseconds>
sentinel down-after-milliseconds redisMaster 10000