Redis学习-主从复制、哨兵

时间:2022-06-16 04:37:39

主从复制

官方文档:https://redis.io/topics/replication

Redis中的主从复制,也就是Master-Slave模型,有以下特点

  Master可以拥有多个slave

  多个slave不仅可以连接同一个master,还可以连接到其他的slave

  主从复制不会阻塞master,在同步数据时,master可以继续处理client请求

  提供系统的伸缩性

主从复制过程:

  slave与master建立连接,发送sync同步命令

  master开启一个后台进程,将数据快照保持到文件中,同时master主进程会开始收集新的写命令并缓存

  后台完成保存后,将文件发送给slave

  slave将文件保存到硬盘上

主从复制配置:

  配置3台redis,1master2slave

  使用scp -r redis3.2_1/ sloveip:/复制目录 将主机安装的redis复制到从机

  在配置文件修改主机从机的端口号

  修改从机的slaveof,改为主机的ip地址 端口号

  Redis学习-主从复制、哨兵

  分别启动这三台redis服务

  Redis学习-主从复制、哨兵

  可以看到主从机都已经启动

  由于在同一台机子模拟,所以启动客户端要指定端口号

  Redis学习-主从复制、哨兵

  启动之后,info查看信息,可以看到主从已经成功

  Redis学习-主从复制、哨兵

  查看从机,打印下面信息

  Redis学习-主从复制、哨兵

  在主机写入数据,从机能够读取

  Redis学习-主从复制、哨兵

  Redis学习-主从复制、哨兵

哨兵

  哨兵能够监控redis系统的运行状况,主要功能有:

    监控主数据库和从数据库是否正常运行

    主数据库出现故障时,可以自动将从数据库装换为主数据库,实现自动切换

  配置(在slave1配置)

  复制安装的redis3.2_1文件下的sentinel.conf文件到存放配置文件的文件夹 

  Redis学习-主从复制、哨兵

  然后进入sentinel.conf文件,配置目录

  Redis学习-主从复制、哨兵

  配置名称、主节点ip、端口、投票选举次数(1表示有一个从节点认为主节点宕机就认为主节点宕机了)

  Redis学习-主从复制、哨兵

  监控策略

  Redis学习-主从复制、哨兵

  默认30秒超时即为宕机

  Redis学习-主从复制、哨兵

  从节点的个数

  启动redis服务

   启动哨兵

  Redis学习-主从复制、哨兵

  查看哨兵信息

  Redis学习-主从复制、哨兵

  kill 主节点

  info信息

  Redis学习-主从复制、哨兵

  master端口变为了6381

  重新启动6380端口,控制台打印

  Redis学习-主从复制、哨兵

  info 信息

  Redis学习-主从复制、哨兵