一、安装redis(博主是根据第二种,压缩包的形式安装的redis)
二、配置redis主从
三、配置哨兵模式
原理
1.哨兵向其他节点发送ping命令进行心跳检测,判断是否下线。
2.在心跳检测的定时任务中,如果其他节点超过一定时间没有回复,哨兵节点就会将其进行主观下线。
3.哨兵节点在对主节点进行主观下线后,会询问其他哨兵节点该主节点的状态;如果判断主节点下线的哨兵数量达到一定数值,则对该主节点进行客观下线。
4.选举领导者哨兵节点:当主节点被判断客观下线以后,各个哨兵节点会进行协商,选举出一个领导者哨兵节点,并由该领导者节点对其进行故障转移,选取新的master。
已经配置好主从的三个节点:
master:192.168.25.221
slave: 192.168.25.223
slave: 192.168.25.225
1.修改sentinel的配置文件(redis解压后的文件夹,博主是在/root/tz/redis-4.0.14文件夹下):
1)
sentinel monitor mymaster 192.168.25.221 6379 2
#表示sentinel监控的master叫做mymaster
#地址为192.168.25.221(地址默认是127.0.0.1,一般修改为主节点的地址)
#端口为6379
#这个2代表,当集群中有2个sentinel认为master死了时,才能真正认为该master已经不可用了,这个数量一般设置为(sentinel/2)+1
2)添加配置
protected-mode yes
bind 0.0.0.0
#daemonize yes
#logfile “/root/tz/redis-4.0.14/sentinel.log”
注:
protected-mode yes
bind 0.0.0.0
这两行配置是我redis.conf中配置了,当时在sentinel.conf没有加,出现sentinel选举失败的情况,百度一下是因为我在redis.conf配置有这两行配置,但是在sentinel.conf没有配置导致的,如果大家配置过程中没有出现问题,便可不加此配置
daemonize yes #表示sentinel以后台形式运行
logfile “/root/tz/redis-4.0.14/sentinel.log” #表示sentinel运行日志的存放位置
默认sentinel以前台形式运行,生产环境时可以加上此配置。
2.启动sentinel
./redis-sentinel ../sentinel.conf
1)
3.验证
将主节点192.168.25.221宕机,查看是否会推选出新的master
1)首先在主节点查看一下是否是三个节点
info
2)将主节点宕机,进程杀掉即可
此时我们看一下sentinel的日志:
3)查看225