Redis-Sentinel 哨兵

为什么需要哨兵?

一旦主节点宕机,那么需要人为修改所有应用方的主节点地址(改为新的master地址),还需要命令所有从节点复制新的主节点
那么这个问题,redis-sentinel就可以解决了

什么是哨兵Redis-Sentinel?
保护redis主从集群正常运转,当redis主库挂掉之后,自动的在从库中挑选新的主库,进行同步.
哨兵会不停的给主库发ping,如果一定时间内主库没回复就认为主库挂了.就自动的在从库中挑选新的主库.
如果有多个哨兵,那么多个哨兵是通过订阅相同的频道来交流的.
可以多个哨兵监控一个主从集群. 哨兵多个,为了防止只有一个哨兵的时候,哨兵也宕机了.
哨兵是redis的一个进程, 哨兵不做存储,只监控redis

多个哨兵监控一个主从集群

主库出现故障的时候, 哨兵选一个从库作为新的主库, 并修改其他从库的新主库

举例:

step1. 开启3个redis服务器, 以不同端口区分

    

step2 准备3个哨兵 

哨兵端口默认26379  以端口的不同区分3个哨兵
1.哨兵的配置文件
         port 26379  
         dir /var/redis/data/
         logfile "26379.log"

sentinel monitor youku-master 127.0.0.1 6379 2 sentinel down-after-milliseconds youku-maste 30000 sentinel parallel-syncs youku-maste 1 sentinel failover-timeout youku-maste 180000 daemonize yes

    

    快速生成其他2个哨兵的配置文件
      sed "s/26379/26380/g" redis-sentinel-26379.conf >  redis-sentinel-26380.conf                
      sed "s/26379/26381/g" redis-sentinel-26379.conf >  redis-sentinel-26381.conf 

    

2.启动三个哨兵

    

3.查看哨兵 自动发现redis主从节点

    

4.查看哨兵的状态

    

step3 测试哨兵功能  杀掉主库6379  查看哪一个从库变成了主库

  主库宕机后 哨兵选择一个从库变为主库 原理是哨兵修改redis服务器的配置文件的slaveof  从而改变主从关系

    

猜你喜欢

转载自www.cnblogs.com/yunfengding/p/10230320.html