主从复制:
概念
和mysql的主从复制类型一致,主可以写,写入主的数据通过RDB方式把数据同步到从服务器。从不能更新到主。是哨兵模式的基础
缺点:
不能实现故障自动化恢复,只有主能写
数据的复制是单向的,由主复制到从。
流程图:

部署过程:
1、做时间同步:yum -y install ntpdate
ntpdate ntp.aliyun.com
2、vim /etc/redis/6379.conf,配置文件
192.268.203.10 主 第70行0.0.0.0,700行开启持久化
192.268.203.20 从 第70行0.0.0.0,287行取消注释,目标地址主,700行开启持久化
192.268.203.30 从 第70行0.0.0.0,287行取消注释,目标地址主,700行开启持久化
3、重启服务:/etc/init.d/redis_6379 restart
哨兵模式:
概念:
故障自动化恢复,主从复制完成之后,从服务器会变成只读模式。
故障切换时,主故障变成从服务器,主变成从后,也进入只读模式。
缺点:
从节点一旦故障,读会受到影响
流程图:

部署过程:
基于主从复制基础上
1、进入配置文件
vim /opt/redis-5.0.7/sentinel.conf
第17行取消注释
![]()
第26行 yes开启
第36行![]()
第65行![]()
第84行![]()
初始化监听,都是监听主,监听主服务器的状态
2对应的从服务器的数量以及投票的参与者,参与者要和从服务器的数量一致
2台服务器投票通过,出才能进行故障转移
sentinel monitor mymaster 192.168.203.10 6379 2
表示初始化监听,都是监听主,监听主服务器的状态
2 对应的从服务器的数量以及投票的参与者,参与者要和从服务器的数量一致
表示2台服务器投票通过,出才能进行故障转移
第113行:sentinel down-after-milliseconds mymaster 30000
表示 判断服务器宕机的时间周期,每30秒检测一次
第146行:sentinel failover-timeout mymaster 180000
表示 判断故障节点的超时的最大时间180秒
2、启动哨兵模式
redis-sentinel sentinel.conf &
先启动主,再启动从
3、查看哨兵模式
redis-cli -p 26379 info Sentinel
4、模拟故障实验
/etc/init.d/redis_6379 stop,停止主的服务
tail -f /var/log/sentinel.log,日志查看主转移到哪台服务器
cluster集群:
概念:
把每两台服务器作为主从模式,形成一个大的主从的集群。
解决了写操作的负载均衡,是较为完善的高可用方案
redis3.0之后的分布式存储方案
集群由多个节点组成,redis数据保存在这些节点
集群中的节点分为主和从
主负责读写以及维护集群的信息
从节点进行主节点数据的复制(也可以查)
缺点:
保证高可用,对数据的完整性要求不搞
redis集群的数据分片
在集群概念中,引用的是hash槽的概念
创建了集群就有16384个哈希槽
三个节点
主1:0-5460
主2:5461-10922
主3:10923-16383
节点当中,如果主和从全部失败,整个集群就不可用
部署过程:
redis集群不可以和哨兵模式共用
1、做时间同步:yum -y install ntpdate
ntpdate ntp.aliyun.com
2、进入redis配置文件
vim /etc/redis/6379.conf
第69行 注释掉![]()
第88行 改为no,关闭保护模式![]()
第699行 改为yes,开启持久化![]()
第832、840、846行都取消注释
3、/etc/init.d/redis_6379 restart 重启服务
4、redis-cli -h 192.168.203.10 --cluster create 192.168.203.10:6379 192.168.203.11:6379 192.168.203.20:6379 192.168.203.12:6379 192.168.203.30:6379 192.168.203.13:6379 --cluster-replicas 1
-h 192.168.203.10:指集群的主连接点配置节点
--cluster create 192.168.203.10:6379 192.168.203.11:6379 192.168.203.20:6379 192.168.203.12:6379 192.168.203.30:6379 192.168.203.13:6379:前面为主,后面为从
--cluster-replicas 1:表示每个主只有一个从节点
最终的主从结果可能和自己设置的不一样,无妨
redis集群中moved不是报错,只是系统提示客户端到指定位置的哈希槽进行读或者写
系统提示啥就去哪个节点操作即可,这个节点是该节点的主

注意节点的哈希槽分配
1061

被折叠的 条评论
为什么被折叠?



