Redis之3节点部署哨兵集群(基于前面的Redis5.0.5读写分离架构搭建环境)

  1. 简介
           Sentinel:哨兵模式,是一个分布式系统,该进程是用于监控redis集群中Master主服务器工作的状态,
    在Master主服务器发生故障的时候,可以实现Master和Slave服务器的切换,保证系统的高可用,其已经被
    集成在redis 2.6 +的版本中,Redis的哨兵模式到了2.8版本之后就得到了稳定。
  2. 哨兵模式的环境:
     a:
    Master主服务器配置信息:IP:192.168.191.101, Port:6379,OS:Linux
     b:  Slave从服务器的配置信息:  IP:192.168.191.102, Port:6379,OS:Linux
     c:  Slave从服务器的配置信息:IP:192.168.191.103, Port:6379,OS:Linux
  3. 哨兵模式的配置(3台机器同步修改)
     ⑴创建/etc/sentinal和/var/sentinal/5000目录
             

     ⑵将/usr/local/module/redis-5.0.5目录下sentinel.conf拷贝到/etc/sentinal目录下,并且名称修改为5000.conf
             

     ⑶修改5000.conf(不同的机器不同的IP地址)
             
    #端口为5000
    port 5000
    
    #守护进程模式
    daemonize yes
    
    #指明日志文件名
    logfile "/usr/local/module/redis-5.0.5/logs/sentinel.log"
    
    #设置绑定IP地址,不同的机器不同的IP地址
    bind 192.168.191.101 127.0.0.1
    
    protected-mode no
    
    #哨兵程序的日志路径
    dir /var/sentinal/5000
    
    #哨兵程序的日志路径
    logfile "/usr/local/module/redis-5.0.5/logs/sentinel.log"
    
    sentinel announce-ip 192.168.191.103
    
    #给监控的master指定的一个名称,哨兵监控这个master,在至少quorum个哨兵实例都认为master down后把master标记为odown,这个IP地址必须是master的
    sentinel monitor mymaster 192.168.191.101 6379 2
    
    #在搭建redis集群时如果指定了主节点的"requirepass",这个就必须保持一致
    sentinel auth-pass mymaster redis-pass
    
    # master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
    sentinel down-after-milliseconds mymaster 30000
    
    # 若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
    sentinel failover-timeout mymaster 60000
    
    #parallel-syncs,新的master别切换之后,同时有多少个slave被切换到去连接新master,重新做同步,数字越低,花费的时间越多
    #假设你的redis是1个master,4个slave
    #然后master宕机了,4个slave中有1个切换成了master,剩下3个slave就要挂到新的master上面去
    #这个时候,如果parallel-syncs是1,那么3个slave,一个一个地挂接到新的master上面去,1个挂接完,而且从新的master sync完数据之后,再挂接下一个
    #如果parallel-syncs是3,那么一次性就会把所有slave挂接到新的master上去
    sentinel parallel-syncs mymaster 1
  4. 启动哨兵进程
     ⑴简介
            在eshop-cache01、eshop-cache02、eshop-cache03三台机器上,分别启动三个哨兵进程,组成一个集群,
         观察一下日志的输出
     ⑵启动eshop-cache01,eshop-cache02、eshop-cache03的哨兵,进入/usr/local目录下
           命令:redis-sentinel /etc/sentinal/5000.conf,效果如下
          
            
            
          
  5. 检查哨兵状态
     ⑴命令
            redis-cli -h ip地址 -p 端口
         
        查询master状态:sentinel master mymaster
        
        查询slaves状态:SENTINEL slaves mymaster
        
        
      获取master节点信息:SENTINEL get-master-addr-by-name mymaster
      
      使用info命令查询:
      
  6. 下面我们redis将master节点停掉,看看哨兵会不会重新选举
     a:停止master节点
         
     b:看哨兵效果:
          
     c:查看哨兵状态
           
         
       
      并且102切换为主节点后,也可以向里面写数据了
      
     重新启动101节点,它将会作为一个slave节点连接上去:
     
     
  7. 综上,哨兵成功搭建,并且完成主备切换的功能。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值