我是靠谱客的博主 体贴发卡,最近开发中收集的这篇文章主要介绍Redis主从复制(薪火相传模式 演示示例)——图解版,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

    • 一、redis主从复制(薪火相传的理解)
    • 二、Redis主从复制配置步骤概述
    • 三、lz虚拟机配置说明
    • 四、Redis主从复制(每台服务器的redis配置文件配置步骤)
      • 1、配置master服务器(即IP为192.168.3.15的6379端口)的配置文件
      • 2、配置slave1服务器(即IP为192.168.3.16的6380端口)的配置文件
      • 3、配置slave2服务器(即IP为192.168.3.17的6381端口)的配置文件
    • 五、Redis主从复制(薪火相传演示示例)
      • 1、分别启动3台服务器的redis服务端,并查看3台服务器的角色信息
      • 2、slave1服务器执行slaveof +master服务器ip+master服务器端口命令(即master挂slave1),然后slave2服务器执行slaveof +slave1服务器ip+slave1端口命令 (即slave1挂slave2),并查看3台服务器的角色信息
      • 3、master服务器添加1条数据,然后查看slave1和slave2是否能获取到添加的数据。

一、redis主从复制(薪火相传的理解)

在这里插入图片描述

  • 由上图结构可知,薪火相传指上一个slave可以是下一个slave的Master,slave同样也可以接受其他slave的连接和同步请求,那么该slave作为了链条中下一个Master,可以有效减轻Master的写压力。
  • 中途变更转向会清除之前的数据,重新建立拷贝最新的
  • slaveof +新服务器ip+新服务器端口

二、Redis主从复制配置步骤概述

序号配置作用
1配从(库)不配主(库)配置从服务器不配置主服务器
2从库配置,使用 slaveof 主库IP 主库端口 命令slaveof命令再每次与master断开之后,都需要重新连接,除非你配置进redis.conf文件。
3info replication命令查看主/从复制信息
4拷贝redis.conf文件表示指定配置文件启动redis服务
5开启daemonize yes表示是否把redis-server启动在后台,默认是“否”。若改成yes,会生成一个pid文件。
6指定pid文件名字表示pid文件的路径
7指定IP和端口表示指定服务器IP和端口如果是主机的话bind要改成0.0.0.0,从机不需要(主机一定要修改,否则主从连接失败)
8指定log文件名字表示日志文件路径
9指定dump.rdb名字表示数据库文件路径

三、lz虚拟机配置说明

1、三台虚拟机配置说明:

ip端口说明
192.168.3.15(master)6379redis主服务器
192.168.3.16(slave1)6380redis从服务器
192.168.3.17(slave2)6381redis从服务器

2、关闭三台虚拟机的防火墙,保证三台虚拟机的ip和端口都能互相访问通
在这里插入图片描述

四、Redis主从复制(每台服务器的redis配置文件配置步骤)

1、配置master服务器(即IP为192.168.3.15的6379端口)的配置文件

  • 拷贝redis.conf文件为redis6379.conf,并编辑redis6379.conf文件。如下图:
    在这里插入图片描述

  • 开启daemonize yes,如下图:
    在这里插入图片描述

  • 修改pid文件名字为redis_6379.pid,如下图:
    在这里插入图片描述

  • 指定IP和端口(6379),主机一定要把bind 127.0.0.1要改成0.0.0.0,从机不需要(一定要修改,否则主从连接失败),如下图:

    在这里插入图片描述
    在这里插入图片描述

  • 修改log文件名字为6379.log,如下图:
    在这里插入图片描述

  • 修改dump.rdb名字为dump6379.rdb,如下图:
    在这里插入图片描述

2、配置slave1服务器(即IP为192.168.3.16的6380端口)的配置文件

  • 拷贝redis.conf文件为redis6380.conf,并编辑redis6380.conf文件。如下图:
    在这里插入图片描述

  • 开启daemonize yes,如下图:
    在这里插入图片描述

  • 修改pid文件名字为redis_6380.pid,如下图:
    在这里插入图片描述

  • 指定IP和端口(6380),slave1从服务器一定也要把bind 127.0.0.1要改成0.0.0.0,因为slave1需要挂slave2,对于slave2服务器而言,slave1是master服务器(一定要修改,否则主从连接失败),如下图:

    在这里插入图片描述

    在这里插入图片描述

  • 修改log文件名字为6380.log,如下图:
    在这里插入图片描述

  • 修改dump.rdb名字为dump6380.rdb,如下图:
    在这里插入图片描述

3、配置slave2服务器(即IP为192.168.3.17的6381端口)的配置文件

  • 拷贝redis.conf文件为redis6381.conf,并编辑redis6381.conf文件。如下图:
    在这里插入图片描述

  • 开启daemonize yes,如下图:
    在这里插入图片描述

  • 修改pid文件名字为redis_6381.pid,如下图:
    在这里插入图片描述

  • 指定IP和端口(6381),从主机不需要把bind 127.0.0.1要改成0.0.0.0,从机不需要,如下图:

    在这里插入图片描述
    在这里插入图片描述

  • 修改log文件名字为6381.log,如下图:
    在这里插入图片描述

  • 修改dump.rdb名字为dump6381.rdb,如下图:
    在这里插入图片描述

五、Redis主从复制(薪火相传演示示例)

因为演示,lz没有把slaveof 命令配置进redis配置文件中

1、分别启动3台服务器的redis服务端,并查看3台服务器的角色信息

  • 启动6379端口的master服务器并测试是否连接成功,如下图:

    在这里插入图片描述

  • 启动6380端口的slave1服务器并测试是否连接成功,如下图:
    在这里插入图片描述

  • 启动6381端口的slave2服务器并测试是否连接成功,如下图:
    在这里插入图片描述

  • 输入info replication命令,查看3台服务器的角色信息,由下图可知,3台服务器均为master服务器,如下图:
    在这里插入图片描述

2、slave1服务器执行slaveof +master服务器ip+master服务器端口命令(即master挂slave1),然后slave2服务器执行slaveof +slave1服务器ip+slave1端口命令 (即slave1挂slave2),并查看3台服务器的角色信息

  • master服务器挂slave1服务器,即在slave1服务器中执行slaveof +master服务器ip+master服务器端口命令
    在这里插入图片描述

  • slave1服务器挂slave2服务器,即在slave2服务器中执行slaveof +slave1服务器ip+slave1服务器端口命令
    在这里插入图片描述

  • 输入info replication命令,查看3台服务器的角色信息
    由下图可知,master服务器下挂了slave1,对于slave1而言,master为主服务器;同时slave1下挂了salve2服务器,对于slave2而言,slave1为主服务器;
    master服务器角色为master,slave1和slave2角色为slave;

    在这里插入图片描述

3、master服务器添加1条数据,然后查看slave1和slave2是否能获取到添加的数据。

  • 由下图可知,slave1和slave2成功获取到master服务器中键为k4的数据。

在这里插入图片描述

最后

以上就是体贴发卡为你收集整理的Redis主从复制(薪火相传模式 演示示例)——图解版的全部内容,希望文章能够帮你解决Redis主从复制(薪火相传模式 演示示例)——图解版所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部