• redis学习之——主从复制(replication)


    准备:拥有linux环境,并安装redis

    mater:主机,进行写操作

    slave:从机,进行读操作

    一、配置

         继续前边的学习。我们是拷贝redis.conf,文件到了/root /redis 下。现在复制三分。并做修改。如下

    cp redis.conf redis6379.conf

    修改配置文件:以单个文件为列,修改守护启动(后台启动),运行文件位置,端口,日志文件,dump备份文件,

    那么redis6380.conf  redis6381.conf做同样,已端口为准的修改。

     2)启动:

    修改配置部分我们是为了模拟三台机器(即用三个配置文件分别启动redis)达到,主从复制Master/Slave(一主两辅的效果)

    3)实现一主两从

     在80,81俩个机器上用命令如下,把这台127.0.0.1 6379 机器 是为主机

    slaveof 127.0.0.1 6379

     4)验证主从复制

    1)情况一:如过三台机并没有配置主从,6379的机器,,现行进行写操作,那么在设置6380,6381为6379的从机,即上一步操作。那么之前的写操作是否会复制。

    答案:会。这样的情况从机会吧主机之前写操作,,都复制一遍,全量复制,接下来如,set   k4  ,get k4  ,get k4 会进行增量复制。

    2)情况2:如果主机宕机,那么80,81从机的角色,会发生改变吗?还是原地待命。

    答案:不会,原地待命。

    3)接着2)情况2,如果主机上线,我们设置的主从是否会乱套。。

     答案:不会。

    4)如果从机宕机期间,主从角色会发生变化吗?主机写入了数据,,那么从机上线后,,是否依旧会复制主机刚刚写入的数据?

     答案: 从机宕机,原先的一主两从,会变成一主一从。。且从机上线如果没有在配置文件中(我么这里没有配置),配置的话

    ,新上线的从机的角色(slave)会变成主机角色(master)。从机上线后的设置为6379的机器为主机,,才可获取数据。如下图:

    5)从机是否可以写入数据?

    答案:不可以,只读。

    5)、薪火相传

                     上一个Slave可以是下一个slave的Master,Slave同样可以接收其他,slaves的连接和同步请求,那么该slave作为了链条中下一个的master,
    可以有效减轻master的写压力。。中途变更转向:会清除之前的数据,重新建立拷贝最新数据。

    1)、在一主两从的基础上修改

    在6381键入命令:slaveof  127.0.0.1 6380

    6)、反客为主

    slaveof no one

    7)、哨兵模式

                      其实就是反客为主的自动执行,反客为主是我们人为手动设置。而哨兵模式,是系统自动监视主机,,如果主机shutdown了。。那么在其从机中投票选出主机,自动形成一套主从模式。。shutdown 的机器从新上线后为从机。。

    (1)在/root/redis 下新建文件sentinel.conf(touch sentinel.conf )

    (2)启动哨兵

    redis-sentinel /redis/setninel.conf

    (3)验证哨兵模式(并留意检测日志)

  • 相关阅读:
    java容器01--初遇
    java虚拟机(1)--运行时数据区
    java虚拟机(2)--垃圾收集
    java虚拟机(3)--内存分配与回收策略
    java虚拟机(4)--类加载机制
    bash编程的信号捕获:
    awk纯干货
    shell中各种括号的作用()、(())、[]、[[]]、{}
    find
    awk
  • 原文地址:https://www.cnblogs.com/aGboke/p/6642400.html
Copyright © 2020-2023  润新知