zoukankan      html  css  js  c++  java
  • redis配置主从备份以及主备切换方案配置(转)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/gsying1474/article/details/48302565
    前提:redis中,主从切换场景中,没有绝对的主和从,只有初始化的主和从,然后当主down后,从就变成主了,而主即使连接上,也是从,不会变为主

    1、redis-server的主备关系:
        需要配置的机器,以及主备关系如下
        master:10.118.36.10
        slave1:10.118.36.74
        slave2:10.118.36.161
    2、修改redis-server的配置文件:
        切换到redis的根目录
        # cd /home/admin/Downloads/redis-3.0.3

        master配置不变,
        两台slave修改配置文件(# vi redis-3.0.3/redis.conf),添加如下语句,其余用默认配置:
            slaveof 10.118.36.10 6379
    3、修改redis-sentinel的配置文件(# vi redis-3.0.3/sentinel.conf),但是这里我使用一个新的文件(# vi redis-3.0.3/sentinel-test.conf):
     
        切换到redis的根目录
        # cd /home/admin/Downloads/redis-3.0.3
        # vi redis-3.0.3/sentinel-test.conf
        三台机器配置相同,如下:
    ############################代码区域,begin############################
    port 26379
    #MyMaster
    sentinel monitor MyMaster 10.118.36.10 6379 1
    sentinel down-after-milliseconds MyMaster 5000
    sentinel failover-timeout MyMaster 900000
    sentinel parallel-syncs MyMaster 2
    ############################代码区域,end############################

    4、启动redis-server服务和redis-sentinel服务
        切换到redis的根目录
        # cd /home/admin/Downloads/redis-3.0.3

        启动redis-server
        # ./src/redis-server redis.conf 

        启动redis-sentinel
        # ./src/redis-sentinelsentinel-test.conf 

    5、检查redis状态(三台都执行)
        切换到redis的根目录
        # cd /home/admin/Downloads/redis-3.0.3
        查询命令
        # ./src/redis-cli
        查询状态信息
        > ping
        返回的结果如果是PONG,则表示服务运行正常
        然后继续执行命令,检查主备是否正常
        > info Replication
        查看返回结果(关键点)
        master应为(offset和lag无所谓):
    role:master
    connected_slaves:2
    slave0:ip=10.118.36.74,port=6379,state=online,offset=1241704,lag=0
    slave1:ip=10.118.36.161,port=6379,state=online,offset=1241704,lag=0

        slave应为:
    role:slave
    master_host:10.118.36.10
    master_port:6379
    master_link_status:up

    6、检查sentinel状态(三台都执行)
        切换到redis的根目录
        # cd /home/admin/Downloads/redis-3.0.3
        
        执行命令
        # ./src/redis-cli -p 26379
        查询状态信息
        > info
        查看结果如果有如下所示,即表示正常集群配置正常运行
    # Sentinel
    sentinel_masters:1
    sentinel_tilt:0
    sentinel_running_scripts:0
    sentinel_scripts_queue_length:0
    master0:name=MyMaster,status=ok,address=10.118.36.10:6379,slaves=2,sentinels=3    

    ————————————————
    版权声明:本文为CSDN博主「刘迎光-萤火虫工作室」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/gsying1474/article/details/48302565

  • 相关阅读:
    还不懂MySQL索引?这1次彻底搞懂B+树和B-树
    11条MySQL规范,你知道的有几个?
    4个点说清楚Java中synchronized和volatile的区别
    还不知道如何实践微服务的Java程序员,这遍文章千万不要错过!
    14个Java并发容器,你用过几个?
    分布式事务解决方案,中间件 Seata 的设计原理详解
    一篇文章搞明白Integer、new Integer() 和 int 的概念与区别
    一线大厂面试官最喜欢问的15道Java多线程面试题
    70道阿里百度高频Java面试题(框架+JVM+多线程+算法+数据库)
    关于spark当中生成的RDD分区的设置情况。
  • 原文地址:https://www.cnblogs.com/muxi0407/p/11650012.html
Copyright © 2011-2022 走看看