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 并重启后状态

 

 

posted @ 2019-07-06 12:06  pinghengxing  阅读(2338)  评论(0编辑  收藏  举报