解决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 相关文章推荐
Redis5之后版本的高可用集群搭建的实现
Apr 27 Redis
详解Redis复制原理
Jun 04 Redis
Redisson实现Redis分布式锁的几种方式
Aug 07 Redis
Redis如何实现分布式锁
Aug 23 Redis
分布式Redis Cluster集群搭建与Redis基本用法
Feb 24 Redis
Redis中有序集合的内部实现方式的详细介绍
Mar 16 Redis
Redis高可用集群redis-cluster详解
Mar 20 Redis
基于Redis6.2.6版本部署Redis Cluster集群的问题
Apr 01 Redis
使用Redis做预定库存缓存功能
Apr 02 Redis
Redis特殊数据类型Geospatial地理空间
Jun 01 Redis
使用Redis实现分布式锁的方法
Jun 16 Redis
redis连接被拒绝的解决方案
Redis如何一键部署脚本
浅谈redis五大数据结构和使用场景
Redis遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 #Redis
redis配置文件中常用配置详解
Apr 14 #Redis
Redis安装启动及常见数据类型
redis限流的实际应用
Apr 24 #Redis
You might like
php自动跳转中英文页面
2008/07/29 PHP
PHP数据流应用的一个简单实例
2012/09/14 PHP
PHP数据类型的总结分析
2013/06/13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
destoon实现公司新闻详细页添加评论功能的方法
2014/07/15 PHP
PHP中使用hidef扩展代替define提高性能
2015/04/09 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
Zend Framework自定义Helper类相关注意事项总结
2016/03/14 PHP
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
2016/02/29 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
Vue项目打包压缩的实现(让页面更快响应)
2020/03/10 Javascript
python不换行之end=与逗号的意思及用途
2017/11/21 Python
python抽取指定url页面的title方法
2018/05/11 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
教师评优的个人自我评价分享
2013/09/19 职场文书
《池塘边的叫声》教学反思
2014/04/12 职场文书
中华魂演讲稿
2014/05/13 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
增员口号大全
2014/06/18 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
工作失职检讨书500字
2014/10/17 职场文书
优秀志愿者感言
2015/08/01 职场文书
elementui的el-popover修改样式不生效的解决
2021/06/30 Javascript
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫
Golang 实现WebSockets
2022/04/24 Golang