redis sentinel监控高可用集群实现的配置步骤


Posted in Redis onApril 01, 2022
目录

一、端口转发。

如果在一个主机里面,安装了两个redis实例,可以在项目里面配置IP端口,用iptables转发。

iptables -t nat -A PREROUTING -p tcp --dport 6379 -j REDIRECT --to-ports 7379

当发生切换的时候,触发了脚本,执行语句。端口可以马上转发带正确的redis上面。参数的含义:

redis sentinel监控高可用集群实现的配置步骤

脚本配置:

redis sentinel监控高可用集群实现的配置步骤

脚本实例:

#!/bin/bash

 iptables -t nat -I PREROUTING -p tcp --dport 6379 -j REDIRECT --to-ports $7

这样在项目配置就可以直接使用6379,有什么切换交给iptables转发。IP转发也可以用这种方法实现。不能这样实现的原因是,sentinel和redis都是由不同的容器实现。除非用宿主机安装的办法,不然由sentinel执行的脚本根本不能控制到宿主机的iptables来选择redis。

二、修改HOST文件。

这种方法和第一种少有不同。就不是从网络上面改了。项目里面的配置可以直接用主机名。不过这种方法的缺陷是只能改IP,就是说使用的端口号要一致,每次故障只切换IP,不切换端口。

echo "192.168.20.26 redis" >> /etc/hosts

这种方法不能实现的原因是,sentinel和项目执行容器独立,由sentinel执行的脚本动不了apache的host文件,除非sentinel和apache共享host文件。这非常麻烦。而且,每个sentinel有执行一次,就需要和sentinel一样数量的apache容器。

脚本示例:

#!/bin/bash

sed -i 's/$4/$6/g'  /etc/hosts

三、用第三方代理haproxy。

用这种方法的话,就不管sentinel怎么切换,haproxy只需检测到可读写的redis交给项目就行,而且项目里面配置指向haproxy的IP。

redis sentinel监控高可用集群实现的配置步骤

上图可知haproxy是通过交互发现master可用,slave都切换为down。haproxy是利用轮询检测。

redis sentinel监控高可用集群实现的配置步骤

项目的配置:

redis sentinel监控高可用集群实现的配置步骤

四、插曲

这里是sentinel检测redis。如果3个redis,mater挂了,另外一个slave顶上。如果master重启了,却没有加入集群。

问题就在这里,1的状态都知道2是master,2确不知道有1这个slave。那就是1和2没有通讯了。

1、初始状态:

redis sentinel监控高可用集群实现的配置步骤

2、初始master:

redis sentinel监控高可用集群实现的配置步骤

3、关掉1,

redis sentinel监控高可用集群实现的配置步骤

4、2切换为master:

redis sentinel监控高可用集群实现的配置步骤

5、master状态:

redis sentinel监控高可用集群实现的配置步骤

6、重启1的状态:

redis sentinel监控高可用集群实现的配置步骤
 

1启动之后,马上变为master,但是没有slave,后面切换回slave,他的master是2.。就是说1是master,2、3都是slave,1的状态可以看到2、3的存在。1挂了,2就是master,3还是slave。1重启了就应该是slave,1的状态也说他的master是2,但是2说他只有3这一个slave。

7、查看sentinel的切换日志:

redis sentinel监控高可用集群实现的配置步骤

第一行,说明检测到1已经挂了。

第二行,移除挂了这个状态,即是1已经恢复。

第三行,把1转变为slave,master为2.

这个日志说明出问题不在sentinel,因为他已经完成了使命。

8、查看1的日志:

redis sentinel监控高可用集群实现的配置步骤

这个日志说明1想去连接,但是认证失败。

9、我们去改redis的配置:

redis sentinel监控高可用集群实现的配置步骤

10、检查后一切正常。

以上就是redis sentinel监控高可用集群实现的配置步骤的详细内容,更多关于redis sentinel监控高可用集群的资料请关注三水点靠木其它相关文章!

Redis 相关文章推荐
Redis如何一键部署脚本
Apr 12 Redis
redis 查看所有的key方式
May 07 Redis
为Java项目添加Redis缓存的方法
May 18 Redis
Windows中Redis安装配置流程并实现远程访问功能
Jun 07 Redis
使用redis生成唯一编号及原理示例详解
Sep 15 Redis
SpringBoot集成Redis的思路详解
Oct 16 Redis
redis sentinel监控高可用集群实现的配置步骤
Apr 01 Redis
解决 Redis 秒杀超卖场景的高并发
Apr 12 Redis
Grafana可视化监控系统结合SpringBoot使用
Apr 19 Redis
Redis 报错 error:NOAUTH Authentication required
May 15 Redis
Redis全局ID生成器的实现
Jun 05 Redis
Redis实现短信验证码登录的示例代码
Jun 14 Redis
redis调用二维码时的不断刷新排查分析
Apr 01 #Redis
基于Redis6.2.6版本部署Redis Cluster集群的问题
Redis分布式锁的7种实现
Redis 哨兵机制及配置实现
Redis如何使用乐观锁(CAS)保证数据一致性
Mar 25 #Redis
Redis 操作多个数据库的配置的方法实现
Mar 23 #Redis
Redis安装使用RedisJSON模块的方法
Mar 23 #Redis
You might like
PHP新手上路(五)
2006/10/09 PHP
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
php读取本地json文件的实例
2018/03/07 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
IE8下String的Trim()方法失效的解决方法
2013/11/08 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
jquery的总体架构分析及实现示例详解
2014/11/08 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
Javascript获取数组中的最大值和最小值的方法汇总
2016/01/01 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
实现JavaScript高性能的数据存储
2016/12/11 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
JS绘图Flot如何实现动态可刷新曲线图
2020/10/16 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
[05:02][DOTA2]DOTA进化论 第一期
2013/09/27 DOTA
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
Django实现网页分页功能
2019/10/31 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
django中url映射规则和服务端响应顺序的实现
2020/04/02 Python
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
基于HTML5代码实现折叠菜单附源码下载
2015/11/27 HTML / CSS
地球上最先进的胡子和头发修剪器:Bevel
2018/01/23 全球购物
REN Clean Skincare官网:英国本土有机护肤品牌
2019/02/23 全球购物
Delphi CS笔试题
2014/01/04 面试题
大学新闻系自荐书
2014/05/31 职场文书
幼儿园教师自我评价
2015/03/04 职场文书
光荣之路观后感
2015/06/12 职场文书
贷款收入证明格式
2015/06/24 职场文书
利用JavaScript写一个简单计算器
2021/11/27 Javascript