Redis主从复制(反客为主模式 演示示例)——图解版

阅读: 评论:0

Redis主从复制(反客为主模式 演示示例)——图解版

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和slave2分别执行slaveof +master服务器ip+端口命令,查看slave1和slave2角色信息,并查看master角色信息。
      • 4、当master服务器宕机后,在slave1服务器中执行slaveof no one命令,slave2服务器重新挂载到slave1服务器中,查看slave1和slave2的角色。
      • 5、当master服务器宕机重新启动后,在次查看slave1服务器和slave2服务器角色。

一、Redis主从复制(反客为主的理解)

  • 由上图结构可知,反客为主指一个master服务器同时挂2个salve服务器。当master宕机后,在2个slave服务器的哪一台服务器中执行slaveof no one 命令,哪一台服务器就会升级为master服务器。

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

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

  • 拷贝f文件为f,并编辑f文件。如下图:

  • 开启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端口)的配置文件

  • 拷贝f文件为f,并编辑f文件。如下图:

  • 开启daemonize yes,如下图:

  • 修改pid文件名字为redis_6380.pid,如下图:

  • 指定IP和端口(6380),slave1从服务器一定也要把bind 127.0.0.1要改成0.0.0.0,因为当master宕机后,需要在slave1服务器中执行slaveof no one命令,从而升级为master服务器(一定要修改,否则主从连接失败)。如下图:

  • 修改log文件名字为6380.log,如下图:

  • 修改dump.rdb名字为dump6380.rdb,如下图:

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

  • 拷贝f文件为f,并编辑f文件。如下图:

  • 开启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主从复制(反客为主演示示例,包含各种宕机情况))

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

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

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

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

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

2、slave1和slave2分别执行slaveof +master服务器ip+端口命令,查看slave1和slave2角色信息,并查看master角色信息。

  • 由下图可知,slave1和slave2服务器的角色都为slave,
  • 由下图可知,master服务器的角色都为master,并且挂2个从服务器。

4、当master服务器宕机后,在slave1服务器中执行slaveof no one命令,slave2服务器重新挂载到slave1服务器中,查看slave1和slave2的角色。

  • 由下图可知,当master宕机后,在slave1服务器中执行slaveof no one命令并且在slave2服务器重新挂载到slave1服务器中,salve1会升级为master服务器。并且可以看到挂载了slave2服务器。

5、当master服务器宕机重新启动后,在次查看slave1服务器和slave2服务器角色。

  • 由下图可知,当master重新启动后,master自己单独一套体系,而slave1和slave2服务器单独一套体系,互不影响。

本文发布于:2024-01-29 07:40:48,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170648525313749.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:主从   反客为主   示例   演示   模式
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23