zoukankan      html  css  js  c++  java
  • redi通过哨兵sentinel实现主从切换

    本次实验主要为了让哨兵监听redis主从复制,当主节点关闭后,哨兵会选举一台从节点成为主节点,并且让其他从节点变成新主节点得从节点

    本次理论需要三台机器,一主两从,为了方便用一台服务器开启三个实例,一主两从

    操作系统centos7.2(1511) yum install epel-release -y  yum -y install redis安装源并且安装redis

    mkdir /redis/700{1,2,3} -p 创建三个实例存放数据目录

    cp /etc/redis.conf 7001  分别复制配置文件到三个实例的目录下

    修改配置redis.conf

    bind 0.0.0.0   #监听所有地址
    port 7002   #监听的端口依次为7001、7002、7003
    daemonize yes   #后台守护方式开启服务
    pidfile "/var/run/redis/redis_7001.pid"    #因为是用的是1台机器的3个实例,所以指定不同的pid文件
    ### SNAPSHOTTING  ###
    dir "/data/redis_cluster/7001"    #依次修改
    ### REPLICATION ###  在这一段配置
    slaveof 127.0.0.1 7001   #依次修改
    

      启动三台实例,并确认7001节点为主节点,通过info replication查看主从情况,确认7001上有两台从节点7002,7003

    修改/etc/redis-sentinel.conf

    port 26379   #默认监听端口26379
    #sentinel announce-ip 1.2.3.4   #监听地址,注释默认是0.0.0.0
    sentinel monitor mymaster 127.0.0.1 7001 1   #指定主redis和投票裁决的机器数,即至少有1个sentinel节点同时判定主节点故障时,才认为其真的故障
    下面保存默认就行,根据自己的需求修改
    sentinel down-after-milliseconds mymaster 5000   #如果联系不到节点5000毫秒,我们就认为此节点下线。
    sentinel failover-timeout mymaster 60000   #设定转移主节点的目标节点的超时时长。
    sentinel auth-pass <master-name> <password>   #如果redis节点启用了auth,此处也要设置password。
    sentinel parallel-syncs <master-name> <numslaves>   #指在failover过程中,能够被sentinel并行配置的从节点的数量;
    

      systemctl start redis-sentinel  启动哨兵服务

            tail -f /var/log/redis/sentinel.log  查看哨兵服务的日志,当出现+slave后面接着从节点的信息,即成功

            模拟主节点故障,关闭主节点

            过一会儿哨兵就会选举新的主节点,并把其他节点变成新的主节点的从节点

            实验成功

            当恢复旧的主节点后,会把旧的主节点当成新的主节点的从节点

  • 相关阅读:
    C# 文件上传下载
    javaScript的三种储存方式
    XDocument常用属性
    NoSQL
    SQLserver 的分页存储过程
    Redis Wendows安装步骤
    C#和JS获取时间
    api跨域
    以太坊开发DApp入门教程——区块链投票系统(一)
    android和java以太坊开发区块链应用使用web3j类库
  • 原文地址:https://www.cnblogs.com/allmdzz/p/10724178.html
Copyright © 2011-2022 走看看