解决redis sentinel 频繁主备切换的问题


Posted in Redis onApril 12, 2021

问题描述

操作redis发现原有Master变成slave,其他slave成master,切换较频繁

问题分析

查看redis服务器sentinel日志,发现主机频繁在凌晨左右sentinel哨兵检查到master挂了,主备切换,排查为每天凌晨左右对hash:sms:qxt:mobile:content:day队列进行删除触发的切机,队列量级过大,删除时导致redis服务器卡住,切机。

问题处理

队列改用分批删除,避免对大数据量队列进行删除而引起切机

补充:redis一主一从一哨兵,第一次主从切换成功,再次主从切换无法正常执行?

自己在服务器学着搭建redis主从复制和哨兵模式。为了简单,一开始只是搭建了一主(port 9001),一从(port 6379),一哨兵(26379)

主从哨兵都在一台服务器上,并且主从服务器均设置了密码:123456

先按照 主-->从--->哨兵 的顺序依次启动,日志和执行命令都没有问题,然后shutdown 9001服务器,哨兵模式顺利将主节点切换到6379,然后在启动9001的redis,发现9001的服务器变为slave ;

但是再次将6379(当前的master)宕机,无法继续切换

如下:

解决redis sentinel 频繁主备切换的问题

一开始是以为配置文件有问题,来回检查了几遍,后来发现这个情形(6379为master ,9001为slave),哪怕在master存放新的key-value,也无法同步到9001

查看了一下9001的redis的info配置发现

解决redis sentinel 频繁主备切换的问题

我的6379的服务器是正常运行的,但是9001没法连接到相关的6379服务器,自然也就没法对master(6379)的服务器进行同步了

想到6379设置了服务密码,我就在9001的redis里加了如下配置

解决redis sentinel 频繁主备切换的问题

修改完配置之后,重启服务,再次模拟刚刚的情形,二次切换也成功了

解决redis sentinel 频繁主备切换的问题

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Redis 相关文章推荐
Redis遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 Redis
详解Redis实现限流的三种方式
Apr 27 Redis
浅谈Redis存储数据类型及存取值方法
May 08 Redis
基于Redis实现分布式锁的方法(lua脚本版)
May 12 Redis
redis哨兵常用命令和监控示例详解
May 27 Redis
详解Redis集群搭建的三种方式
May 31 Redis
springboot使用Redis作缓存使用入门教程
Jul 25 Redis
使用redis生成唯一编号及原理示例详解
Sep 15 Redis
SpringBoot整合Redis入门之缓存数据的方法
Nov 17 Redis
浅谈Redis 中的过期删除策略和内存淘汰机制
Apr 03 Redis
Redis如何实现验证码发送 以及限制每日发送次数
Apr 18 Redis
Redis实现主从复制方式(Master&Slave)
Jun 21 Redis
redis连接被拒绝的解决方案
Redis如何一键部署脚本
浅谈redis五大数据结构和使用场景
Redis遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 #Redis
redis配置文件中常用配置详解
Apr 14 #Redis
Redis安装启动及常见数据类型
redis限流的实际应用
Apr 24 #Redis
You might like
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
js 表格隔行颜色
2009/12/02 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
jQuery-Easyui 1.2 实现多层菜单效果的代码
2012/01/13 Javascript
jQuery实现的进度条效果
2015/07/15 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
Bootstrap实现水平排列的表单
2016/07/04 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
2016/10/12 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
[15:46]教你分分钟做大人——沙王
2015/03/11 DOTA
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python中as用法实例分析
2015/04/30 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
Pytorch转tflite方式
2020/05/25 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
2012/12/09 HTML / CSS
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
详细的大学生创业计划书模板
2014/01/27 职场文书
现金出纳岗位职责
2014/03/15 职场文书
班子四风对照检查材料
2014/08/21 职场文书
2014年会计主管工作总结
2014/12/20 职场文书
关于幸福的感言
2015/08/03 职场文书
CAD实训总结范文
2015/08/03 职场文书
小组口号霸气押韵
2015/12/24 职场文书
Spring Security动态权限的实现方法详解
2022/06/16 Java/Android