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如何一键部署脚本
Apr 12 Redis
浅谈redis五大数据结构和使用场景
Apr 12 Redis
Redis实现订单自动过期功能的示例代码
May 08 Redis
redis内存空间效率问题的深入探究
May 17 Redis
压缩Redis里的字符串大对象操作
Jun 23 Redis
Redis性能监控的实现
Jul 09 Redis
Jedis操作Redis实现模拟验证码发送功能
Sep 25 Redis
Redis中key的过期删除策略和内存淘汰机制
Apr 12 Redis
Redis实战高并发之扣减库存项目
Apr 14 Redis
Redis官方可视化工具RedisInsight安装使用教程
Apr 19 Redis
使用Redis实现分布式锁的方法
Jun 16 Redis
利用Redis实现点赞功能的示例代码
Jun 28 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
php smarty模版引擎中的缓存应用
2009/12/02 PHP
php addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
php Ubb代码编辑器函数代码
2012/07/05 PHP
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
php-fpm中max_children的配置
2019/03/15 PHP
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
JS代码防止SQL注入的方法(超简单)
2016/04/12 Javascript
JavaScript动态生成二维码图片
2016/04/20 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
用Python实现换行符转换的脚本的教程
2015/04/16 Python
详解Django通用视图中的函数包装
2015/07/21 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
收集的22款给力的HTML5和CSS3帮助工具
2012/09/14 HTML / CSS
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
毕业生求职信的经典写法
2014/01/31 职场文书
店长职务说明书
2014/02/04 职场文书
国庆节演讲稿
2014/05/27 职场文书
学校教研活动总结
2014/07/02 职场文书
早读课迟到检讨书
2014/09/25 职场文书
2015毕业实习推荐信
2015/03/23 职场文书