解决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 08 Redis
浅谈redis缓存在项目中的使用
May 20 Redis
详解缓存穿透击穿雪崩解决方案
May 28 Redis
Redis基于Bitmap实现用户签到功能
Jun 20 Redis
浅谈redis整数集为什么不能降级
Jul 25 Redis
redis数据一致性的实现示例
Mar 18 Redis
基于Redis6.2.6版本部署Redis Cluster集群的问题
Apr 01 Redis
 Redis 串行生成顺序编码的方法实现
Apr 03 Redis
Grafana可视化监控系统结合SpringBoot使用
Apr 19 Redis
Redis高并发缓存架构性能优化
May 15 Redis
redis lua限流算法实现示例
Jul 15 Redis
Redis配置外网可访问(redis远程连接不上)的方法
Dec 24 Redis
redis连接被拒绝的解决方案
Redis如何一键部署脚本
浅谈redis五大数据结构和使用场景
Redis遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 #Redis
redis配置文件中常用配置详解
Apr 14 #Redis
Redis安装启动及常见数据类型
redis限流的实际应用
Apr 24 #Redis
You might like
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
php 遍历数据表数据并列表横向排列的代码
2009/09/05 PHP
php 函数中使用static的说明
2012/06/01 PHP
PHP多线程类及用法实例
2014/12/03 PHP
php内嵌函数用法实例
2015/03/20 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
IE6-8中Date不支持toISOString的修复方法
2014/05/04 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
简单实现轮播图效果的实例
2016/07/15 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
python文件写入实例分析
2015/04/08 Python
python 开发的三种运行模式详细介绍
2017/01/18 Python
Python模块结构与布局操作方法实例分析
2017/07/24 Python
pandas多级分组实现排序的方法
2018/04/20 Python
python 堆和优先队列的使用详解
2019/03/05 Python
在python shell中运行python文件的实现
2019/12/21 Python
TensorFlow加载模型时出错的解决方式
2020/02/06 Python
电视节目策划方案
2014/05/16 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
县委务虚会发言材料
2014/10/20 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
2017元旦、春节期间廉洁自律承诺书
2016/03/25 职场文书
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python