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过期事件实现订单超时取消
May 08 Redis
Redis Cluster 集群搭建你会吗
Aug 04 Redis
Redis 常见使用场景
Aug 30 Redis
浅谈Redis的keys命令到底有多慢
Oct 05 Redis
Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题
Feb 12 Redis
Redis分布式锁的7种实现
Apr 01 Redis
一文搞懂Redis中String数据类型
Apr 03 Redis
Redis中key的过期删除策略和内存淘汰机制
Apr 12 Redis
Redis 异步机制
May 15 Redis
Redis基本数据类型String常用操作命令
Jun 01 Redis
Redis+AOP+自定义注解实现限流
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(1)
2006/10/09 PHP
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
浅析javascript中的事件代理
2015/11/06 Javascript
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
js计时事件实现圆形时钟
2020/03/25 Javascript
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
python 远程统计文件代码分享
2015/05/14 Python
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
python复制文件到指定目录的实例
2018/04/27 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
python+influxdb+shell编写区域网络状况表
2018/07/27 Python
python写入文件自动换行问题的方法
2019/07/05 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
python删除文件、清空目录的实现方法
2020/09/23 Python
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
函授自我鉴定
2013/11/06 职场文书
网上书店创业计划书
2014/01/12 职场文书
高校十八大报告感想
2014/01/27 职场文书
军训自我鉴定200字
2014/02/13 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
施工单位安全责任书
2014/07/24 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
大学生党员个人总结
2015/02/13 职场文书
试用期辞职信范文
2015/03/02 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
Python基础之hashlib模块详解
2021/05/06 Python