zoukankan      html  css  js  c++  java
  • Redis三种集群模式-哨兵机制

    Redis哨兵机制,一主二从

    注:Redis哨兵切换,建议一主多从

    一、一主二从

      教程步骤:https://www.cnblogs.com/pinghengxing/p/11139997.html

    二、哨兵配置(sentinel.conf) 

      哨兵机制也分单台以及集群,在此我们只构建哨兵集群

          cd /usr/software/redis/redis-ms/ 

      1.创建哨兵目录

        /usr/software/redis/redis-ms/sentinel/26001

        /usr/software/redis/redis-ms/sentinel/26002

        /usr/software/redis/redis-ms/sentinel/26003

      2.修改sentinel.conf

        cd  /usr/software/redis/redis-ms/sentinel/26001

        vim sentinel.conf

        #修改如下键值对 (自己创建对应的日志、数据文件目录)

    # bind 127.0.0.1 192.168.1.1
    
      protected-mode no
      port 26001
      daemonize yes
      pidfile /var/run/redis-sentinel_26001.pid
      logfile "/usr/software/redis/redis-ms/sentinel/26001/log/redis-sentinel.log"
      dir /usr/software/redis/redis-ms/sentinel/26001/tmp
      #设置 主名称 ip地址 端口号 参入选举的哨兵数
      #配置哨兵需要监控的主节点ip和端口,最后的2代表,如果有2个哨兵主观认为主节点down了,
      #那么就客观认为主节点down掉了,开始发起投票选举新主节点的操作。多个主节点配置多个。
      sentinel monitor mymaster 140.143.26.123 7001 2
      # switched off.
      #设置连接master和slave时的密码,注意的是sentinel不能分别为master和slave设置不同的密码,
      #因此master和slave的密码应该设置相同。
      sentinel auth-pass mymaster ww
      sentinel down-after-milliseconds mymaster 30000
      sentinel parallel-syncs mymaster 1
      sentinel failover-timeout mymaster 180000

    针对其他的sentinel.conf只需要修改配置文件的地址以及端口(改为26002,26003)即可

     3、修改主redis.conf的以下配置

        masterauth ww# 主服务器配置masterauth作用主要是为了后期sentinel引入后重新选举master并且7001端口redis重新加入主从复制时必备的,否则会出现权限不足

    三、启动测试、

        1、对redis-sentinel做软连接(可以在任意目录执行redis-sentinel )

        ln -s /usr/software/redis/redis-sentinel     /usr/bin/

        2、首先启动三台redis

        

               然后启动三台哨兵,如下:

         

        

        运行后发现sentinel.conf的配置文件被重写了,从内容可以看出有哪些slave和sentinel

        

     四、故障转移

     kill 掉 7001的主节点

     

    发现主节点转移到7003上

     重新启动7001后,7001变为从节点,但发现连接不上主节点master_link_status:down,

    这是因为我没有在7001节点上设置

    masterauth ww,设置后重启,连接正常

     

    设置masterauth ww 并重启后状态

     

  • 相关阅读:
    OpenJDK源码研究笔记(三)-RandomAccess等标记接口的作用
    OpenJDK源码研究笔记(三)-RandomAccess等标记接口的作用
    Java实现蓝桥杯墓地雕塑
    Java实现蓝桥杯墓地雕塑
    求一亿以内的回文质数(素数)
    求一亿以内的回文质数(素数)
    求一亿以内的回文质数(素数)
    Java实现 LeetCode 232 用栈实现队列
    Java实现 LeetCode 232 用栈实现队列
    Java实现 LeetCode 232 用栈实现队列
  • 原文地址:https://www.cnblogs.com/pinghengxing/p/11142310.html
Copyright © 2011-2022 走看看