Redis的集群 高可用

Redis基本概念

Redis集群三种模式

主从复制:奇数台 3: 一主两从

哨兵模式:3: 1主两从

cluster:6

主从复制:和mysql的主从复制类似,主可以写,写入主的数据通过RDB方式把数据同步到从服务器,从不能更新到主,也是哨兵模式的基础

缺点:没有办法实现故障自动化恢复,只有主能够写。

哨兵:故障自动化恢复,主从复制完成之后,从服务器会变成只读模式

故障切换时,主故障,变成从服务器,主变成从之后,也会进入只读模式

缺点:从节点一旦故障,读会受到影响

集群:把每两台服务器作为主从模式,形成一个大的主从的集群

解决了写操作的负载均衡。较为完善的高可用方案

缺点:保证高可用,对数据的完整性要求不高。

主从复制

主节点和从节点

数据的复制是单向的,由主复制到从

主从复制的流程

在这里插入图片描述

部署主从复制

20.0.0.50 主

20.0.0.51 从

20.0.0.25 从

yum -y install ntpdate

ntpdate ntp.aliyun.com

做时间同步

在这里插入图片描述

在这里插入图片描述

修改主的配置文件

vim /etc/redis/6379.conf 

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

两台从服务器

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

重启服务

在这里插入图片描述

查看端口

在这里插入图片描述

查看日志

在这里插入图片描述

哨兵模式

在这里插入图片描述

主从配置方法

在这里插入图片描述

修改这个配置文件 主从一起

在这里插入图片描述

在这里插入图片描述

日志文件所在位置

在这里插入图片描述

在这里插入图片描述

初始化监听。都是监听主。监听主服务器的状态 2 对应的就是从服务器的数量以及投票的参与者,参与者要和从服务器的数量是一致的

2台服务器投票通过 主才能进行故障转移

在这里插入图片描述

判断服务器宕机的时间周期 30秒 每30秒检测一次

在这里插入图片描述

判断故障节点180000毫秒(即3分钟)后开始执行故障转移操作,选择一个新的主节点。

在这里插入图片描述

先启动主 在启动从

redis-sentinel sentinel.conf &

在这里插入图片描述

查看状态

redis-cli -p 26379 info sentinel

在这里插入图片描述

故障切换

将主关掉 然后查看日志

 /etc/init.d/redis_6379 restart
  /etc/init.d/redis_6379 start
Starting Redis server...
[root@redis1 redis-5.0.7]# /etc/init.d/redis_6379 stop 
Stopping ...
Waiting for Redis to shutdown ...
Redis stopped
 tail -f /var/log/sentinel.log 

在这里插入图片描述

集群

Redis3.0之后的分布式存储方案

集群由多个节点组成,Redis数据保存在这些节点

集群中的节点分为主和从

主负责读写以及维护集群的信息

从节点进行主节点数据的复制(也可以查)

Redis集群的数据分片

在集群概念中,引用的是哈水槽的概念

创建了集群就有16384个哈希槽

0-16383

主1:0-5460

主2:5461-10922

主3:10923-16383

如果节点当中,如果主和从全部失败,整个集群都将不可用

部署集群

20.0.0.50 20.0.0.53

20.0.0.51 20.0.0.54

20.0.0.52 20.0.0.55

在这里插入图片描述

部署时间同步

六个节点全都做时间同步

 yum -y install ntpdate​
 ntpdate ntp.aliyun.com
 vim /etc/redis/6379.conf 

六个节点 做一样配置

注释掉

在这里插入图片描述

在这里插入图片描述

集群的文件

在这里插入图片描述

在这里插入图片描述

超时时时间

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后重启服务

/etc/init.d/redis_6379 restart

redis-cli -h 20.0.0.50 --cluster create 20.0.0.50:6379 20.0.0.51:6379 20.0.0.52:6379 20.0.0.53:6379 20.0.0.54:6379 20.0.0.55:6379 --cluster-replicas 1
redis-cli -h 20.0.0.50  集群的主连接节点 配置节点

--cluster create 20.0.0.50:6379 20.0.0.51:6379 20.0.0.52:6379 20.0.0.53:6379 20.0.0.54:6379 20.0.0.55:6379
前面是是主后面是从

--cluster-replicas 1 
表示每个主只有一个节点

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

进入库内查看

20.0.0.50:6379> CLUSTER SLOTS

在这里插入图片描述

20.0.0.50:6379> CLUSTER NODES

在这里插入图片描述

测试同步

在主库创建 从库查看

在这里插入图片描述

在这里插入图片描述

然后 主库挂点测试从库是否可以转为主库

在这里插入图片描述

在这里插入图片描述

集群

moved不是报错,是系统提示客户端去指定位置的哈希槽进行读或者写,系统提示啥,就去那操作即可,这个节点是该节点的主

集群的功能只是满足了高可用和负载均衡,不能保证数据的完整性

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值