哨兵实现的是高可用
说明一下sentinel选举主redis的过程,redis
首先选取最新的sentinel表明,每个都维护一个值,谁都向对方发送我要当领导的信息(谁先发送到这里先记谁),若是收到对方回复的选举的id和本身的id同样,开始记票数,超过n/2+1便可。最后三张图片选举的是这个
而后再选举redis主节点
删除已下线或者断线状态的从
删除最近五秒没有回复的从
删除断开与以前master连接超过设置时长的从
按优先级排序,这样若是优先级同样,取复制偏移量最大的从
若是都知足取id最小的。ide
环境,启动了五个redis,三个sentinel,我这里就是停掉了6379端口,最后抉择出6380的过程。
配置文件说明 redis.conf sentinel.conf 更改文件名里边的端口便可
以下:
另外说一点sentinel.conf文件会随时改变的,由于若是出现redis节点异常,几个哨兵客观认为redismaster节点下线的话会从新选举产生新的master节点,重置以前master下属的全部从节点从新slaveof。
redis-server ./redis.conf &
redis-server ./redis6380.conf &
redis-server ./redis6381.conf &
redis-server ./redis6382.conf &
redis-server ./redis6383.conf &
redis-server ./redis6384.conf &
redis-sentinel ./sentinel.conf & 这个日志已经看不到了没有截图
redis-sentinel ./sentinel26380.conf &
redis-sentinel ./sentinel26381.conf &
3d