sentinel支持的redis高可用集群配置详解


Posted in Redis onApril 01, 2022

一、首先配置redis的主从同步集群

1、主库的配置文件不用修改,从库的配置文件只需增加一行,说明主库的IP端口。如果需要验证的,也要加多一行,认证密码。

slaveof 192.168.20.26 5268

masterauth hodge01

sentinel支持的redis高可用集群配置详解

一主多从的话,就启用多个从库。其中,从库都是一样的方案。本次有两个slave。

2、命令检查

/usr/local/redis/bin/redis-cli -p 5257 -a hodge01 info Replication

sentinel支持的redis高可用集群配置详解

二、sentinel高可用

1、概况。sentinel是redis自带的附件,在新的版本redis安装都有sentinel。sentinel是称作哨兵的监控机制,当达到一定数量的sentinel投票支持,redis的master就会切换。本次使用docker容器搭建,主要讲述配置文件。

2、配置文件。注意:每次要抛弃上一次集群都考检查配置文件,因为sentinel是靠更改配置文件实现功能的。

sentinel支持的redis高可用集群配置详解

监听端口。

sentinel支持的redis高可用集群配置详解

第一行最后的那个2,是说明需要两个sentinel确认客观下线,需要切换,才能操作。

sentinel支持的redis高可用集群配置详解

如果有需要密码验证的,要在这里添加密码信息,否则不能通讯。

在配置文件后面几行是启动后系统自动添加。

sentinel支持的redis高可用集群配置详解

3、启动。

启动之后,本实验就是3台redis,三台sentinel,sentinel的配置文件自动填写了sentinel集群和redis集群的信息。因为网络影响,所以单单凭一台sentinel之言就随便切换,所以一般情况需要3台sentinel以上。

确认5268是master,连接两个slave。

sentinel支持的redis高可用集群配置详解

4、测试。

a、关掉5268redis。

sentinel支持的redis高可用集群配置详解

b、检查4157和5257redis。发现master已经转移到5257。

sentinel支持的redis高可用集群配置详解

c、查看转移日志。

+failover-state-reconf-slaves master mymaster

…………

+failover-end master mymaster

sentinel支持的redis高可用集群配置详解

第一行是确认预先的架构复核标准。

第二行认为5268已经客观下线。

第三行表示准备重写主从架构的配置文件。

第四行表示开始重写。

第五行表示故障切换处理5268完毕.。

第六、七行记录在sentinel中已经认为4157和5268作为slave已经追随5257master。

第九行sentinel认为5268已经沦落为slave,但是并不在线。紧接着标记主观下线。

第十行表示5268重启后符合slave标准,用“-”移除主观下线记录。

但是,查了两次5257,并没有发现5268的信息。于是我们查看redis5258的日志,看没有连上master是怎么回事,反正sentinel那边已经认为连上。

sentinel支持的redis高可用集群配置详解

d、恢复后的redis5268的日志。(异常处理)

NOAUTH Authentication required.

sentinel支持的redis高可用集群配置详解

满满的认证不成功,已经很明显告知,5268恢复之后就是slave了,因为此时的5257已经有了密码,而5268没有密码记录,自然没有认证成功连上master5257。

所以在redis5268加上在master面前的认证密码。

masterauth hodge01

sentinel支持的redis高可用集群配置详解

e、重启验证。

重启redis5268

sentinel支持的redis高可用集群配置详解

检查redis master5257,发现5268已经连上。

到此为止,sentinel支持的redis高可用集群就全部完成,IP自动切换方面下次探索。

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

Redis 相关文章推荐
Redis遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 Redis
Redis6.0搭建集群Redis-cluster的方法
May 08 Redis
基于Redis位图实现用户签到功能
May 08 Redis
Redis可视化客户端小结
Jun 10 Redis
解析高可用Redis服务架构分析与搭建方案
Jun 20 Redis
详解redis在微服务领域的贡献
Oct 16 Redis
分布式Redis Cluster集群搭建与Redis基本用法
Feb 24 Redis
源码分析Redis中 set 和 sorted set 的使用方法
Mar 22 Redis
sentinel支持的redis高可用集群配置详解
Apr 01 Redis
Redis实战高并发之扣减库存项目
Apr 14 Redis
解决 redis 无法远程连接
May 15 Redis
redis protocol通信协议及使用详解
Jul 15 Redis
redis sentinel监控高可用集群实现的配置步骤
redis调用二维码时的不断刷新排查分析
Apr 01 #Redis
基于Redis6.2.6版本部署Redis Cluster集群的问题
Redis分布式锁的7种实现
Redis 哨兵机制及配置实现
Redis如何使用乐观锁(CAS)保证数据一致性
Mar 25 #Redis
Redis 操作多个数据库的配置的方法实现
Mar 23 #Redis
You might like
文件上传程序的全部源码
2006/10/09 PHP
php 变量未定义等错误的解决方法
2011/01/12 PHP
分享一段PHP制作的中文拼音首字母工具类
2014/12/11 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
2016/10/20 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
json 实例详细说明教程
2009/10/31 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
JS常见算法详解
2017/02/28 Javascript
jQuery扇形定时器插件pietimer使用方法详解
2017/07/18 jQuery
详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
JS实现的A*寻路算法详解
2018/12/14 Javascript
简述ES6新增关键字let与var的区别
2019/08/23 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
python使用opencv读取图片的实例
2017/08/17 Python
详解pyenv下使用python matplotlib模块的问题解决
2018/11/29 Python
Python数组并集交集补集代码实例
2020/02/18 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
Amaze UI 文件选择域的示例代码
2020/08/26 HTML / CSS
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
高校学生干部的自我评价分享
2013/11/04 职场文书
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
社区党总支书记先进事迹材料
2014/01/24 职场文书
化学专业自荐信
2014/05/28 职场文书
交通事故赔偿协议书怎么写
2014/10/04 职场文书
党校个人总结
2015/03/04 职场文书
2015年世界无车日活动总结
2015/03/23 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
想创业成功,需要掌握这些要点
2019/12/06 职场文书
详解python的内存分配机制
2021/05/10 Python