解决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主从复制实践
May 19 Redis
浅谈Redis主从复制以及主从复制原理
May 29 Redis
详解Redis复制原理
Jun 04 Redis
k8s部署redis cluster集群的实现
Jun 24 Redis
Redis Cluster集群动态扩容的实现
Jul 15 Redis
Redis源码阅读:Redis字符串SDS详解
Jul 15 Redis
解析redis hash应用场景和常用命令
Aug 04 Redis
使用redis生成唯一编号及原理示例详解
Sep 15 Redis
redis数据一致性的实现示例
Mar 18 Redis
Redis监控工具RedisInsight安装与使用
Mar 21 Redis
一文教你快速生成MySQL数据库关系图
Jun 28 Redis
基于redis+lua进行限流的方法
Jul 23 Redis
redis连接被拒绝的解决方案
Redis如何一键部署脚本
浅谈redis五大数据结构和使用场景
Redis遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 #Redis
redis配置文件中常用配置详解
Apr 14 #Redis
Redis安装启动及常见数据类型
redis限流的实际应用
Apr 24 #Redis
You might like
BBS(php & mysql)完整版(五)
2006/10/09 PHP
smarty的保留变量问题
2008/10/23 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
[原创]js获取数组任意个不重复的随机数组元素
2010/03/15 Javascript
推荐8款jQuery轻量级树形Tree插件
2014/11/12 Javascript
js选项卡的实现方法
2015/02/09 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
2015/08/26 Javascript
js实现简单计算器
2015/11/22 Javascript
详解Angularjs中的依赖注入
2016/03/11 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
第九篇Bootstrap导航菜单创建步骤详解
2016/06/21 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2016/07/08 Javascript
js带闹铃功能的倒计时代码
2016/09/29 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
2019/09/09 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
ES6中new Function()语法及应用实例分析
2020/02/19 Javascript
js点击事件的执行过程实例分析【冒泡与捕获】
2020/04/11 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
2019/04/01 Python
Python devel安装失败问题解决方案
2020/06/09 Python
python 决策树算法的实现
2020/10/09 Python
html5录音功能实战示例
2019/03/25 HTML / CSS
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
PHP如何自定义函数
2016/09/16 面试题
师范生教师实习自我鉴定
2013/09/27 职场文书
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
《女娲补天》教学反思
2016/02/20 职场文书
Apache Hudi集成Spark SQL操作hide表
2022/03/31 Servers