zoukankan      html  css  js  c++  java
  • redis主从和主从切换

    redis数据量增加,导致内存不够用,要迁移分离redis和程序:

    1.

        在新redis服务器上,启动一个redis实例,配置和master配置一致,不同的是配置文件中修改并启用 slave-read-only no,让slave 能写,因为 “Since Redis 2.6 by default slaves are read-only.”

    这第一步出现了一个问题,原来的redis server绑定的是127.0.0.1,导致从服务器无法连上主redis 端口,解决办法:

    在redis master 起一个实例,端口和master 不同 ,做master的从,同时band 127.0.0.1和内网IP,通过从服务器在中间同步

    2.   

        让新redis成为slave:redis 127.0.0.1:6379>SLAVEOF server1 6379,然后可以查看server2上的log,会有大量的同步信息,也可以使用info命令查看状态。

    # Replication
    role:slave
    master_host:server1 ip
    master_port:6379
    master_link_status:up
    master_last_io_seconds_ago:0
    master_sync_in_progress:0
    slave_repl_offset:3234260422
    slave_priority:100
    slave_read_only:1
    connected_slaves:0
    master_repl_offset:0
    repl_backlog_active:0
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:135381961
    repl_backlog_histlen:1048576

    3.

        server2完全同步server1的数据后,我们修改程序的redis ip,改为server2的ip。

    4.

        测试程序是否正常

    5.

        以上没有问题后,在server2上执行 redis 127.0.0.1:6379> SLAVEOF NO ONE,将从提升为主,观察key是否在正常增加

    redis-cli -h server2 -p 6379 info |egrep 'db[0-9]'

    一切ok

    tips:

    SLAVEOF host port

    SLAVEOF 命令用于在 Redis 运行时动态地修改复制(replication)功能的行为。

    通过执行 SLAVEOF host port 命令,可以将当前服务器转变为指定服务器的从属服务器(slave server)。

    如果当前服务器已经是某个主服务器(master server)的从属服务器,那么执行 SLAVEOF host port 将使当前服务器停止对旧主服务器的同步,丢弃旧数据集,转而开始对新主服务器进行同步。

    另外,对一个从属服务器执行命令 SLAVEOF NO ONE 将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。

    利用『 SLAVEOF NO ONE 不会丢弃同步所得数据集』这个特性,可以在主服务器失败的时候,将从属服务器用作新的主服务器,从而实现无间断运行。

    config set 无法修改bind ip  要改bind ip 得重启

  • 相关阅读:
    237. Delete Node in a Linked List
    430. Flatten a Multilevel Doubly Linked List
    707. Design Linked List
    83. Remove Duplicates from Sorted List
    160. Intersection of Two Linked Lists
    426. Convert Binary Search Tree to Sorted Doubly Linked List
    142. Linked List Cycle II
    类之间的关系
    初始化块
    明确类和对象
  • 原文地址:https://www.cnblogs.com/mikeluwen/p/8358313.html
Copyright © 2011-2022 走看看