一、搭建Redis集群

1.1、搭建三台redis

这里我们使用三个不同的端口来模拟三台独立的redis服务器

首先创建三个redis.conf配置文件:
分别起名为redis6379.conf、redis6380.conf、redis6381.conf

cp redis.conf redis6379.conf
cp redis.conf redis6380.conf
cp redis.conf redis6381.conf

在这里插入图片描述
修改redis配置文件,以下以redis6380.conf为例 (其余两个操作相同)

port 6380
pidfile /var/run/redis_6380.pid
logfile 6380.log
dbfilename dump6380.rdb

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

1.2、分别启动的三个redis服务

redis-server redis6379.conf &
redis-server redis6380.conf &
redis-server redis6381.conf &

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

1.3、redis客户端分别连接三个redis服务

redis-cli -h 127.0.0.1 -p 6379
redis-cli -h 127.0.0.1 -p 6380
redis-cli -h 127.0.0.1 -p 6381

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

1.4、设置主从关系

在没有设置主从关系前默认每台redis服务器都是Master

设从不设主

在6380上执行 slaveof 127.0.0.1 6379 //设置从库
在6381上执行 slaveof 127.0.0.1 6379 //设置从库

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

1.5、查看主从关系

info replication //查看主从关系

在这里插入图片描述

这里6379是主库(Master)6380和6381是从库(Slave)

  • 全量复制:一旦主从关系确定会自动把主库中已有的数据同步复制到从库
  • 增量复制:主库写入数据会自动同步到从库(从库只读不写)

二、关于宕机

2.1、主机宕机

这里用关闭主机服务来模拟主机宕机

  • redis-cli -h 127.0.0.1 -p 6379 shutdown

查看从机角色
在这里插入图片描述
恢复主机后再次查看主从关系
在这里插入图片描述
结论:主机宕机从机原地待命 主机恢复后一切恢复正常

2.2、从机宕机

这里用关闭6380服务来模拟从机宕机

  • redis-cli -h 127.0.0.1 -p 6380 shutdown

查看主从关系
在这里插入图片描述
从机恢复后再次查看主从关系
在这里插入图片描述
结论:从机宕机后其他从机不受影响 从机恢复后会变回主机需重新设置主从关系

2.3、从机上位

如果主机宕机后无法在短时间内恢复 这个数据库集群只能进行读取操作无法进行写入操作 这时需要从机上位代替主机

//首先让从机断开原来的主从关系
slaveof no one

在这里插入图片描述

//然后在6381上重新设置主从关系
slaveof 127.0.0.1 6381

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐