当前位置: 首页 > news >正文

Redis哨兵模式

1.哨兵模式是什么

解释一

哨兵巡查监控 master主机是否故障,如果故障了,根据投票数自动将一个从库转换为新数据库,继续对外服务。

解释二

  1. 监控redis 的运行状态,包括master和slave
  2. 当master宕机后,能自动将slave切换新的master.
    俗称 无人值守运维。

2.能干嘛?

  1. 主从监控:监控主从redis库运行是否正常
  2. 配置中心:客服端通过连接哨兵来过的当前redis服务的主节点地址
  3. 故障转移: 如果master异常,会进行主从切换,将其中一个slave作为新的Master
  4. 消息通知:哨兵可以将故障转移的结果发送给其他客户端

3.参数解释

1.sentinel monitor master-name ip redisport quorum

quorun: 确认客观下线的最少哨兵数量(同意故障迁移的票数)]
我们知道,网络是不可靠的,有时候一个sentinel会因为网络阻塞而误以为
一个master redis已经死掉了,在sentinel集群环境下,需要多个sentinel互相沟通,来确认某个master是否真的死了,quorum这个参数是进行客观
下线的一个依据了.因为有点时候,某个sentinel节点可能因为自身网络原因
导致无法连接master,而此时master并没有出现故障。所以,这就需要多个
sentinel都一致认为master有问题,才可以进行下一步操作,这就保证了公
平性和高可用。

2.sentinel auth-pass master-name password

master 设置了密码,连接了mater服务密码

3.sentinel down-after-millisenconds master-name millissenconds

指定多少毫米以后,主节点没有应答哨兵,此时哨兵主观上认为主节点下线

4.sentinel parallel-sync mastername num

表示允许并行同步的slave个数,当master挂了后,哨兵会选出新的master,此时,剩余的slave会向新的master发起同步。

5.sentinel failover-timeout mastername millisencond

故障转移的超时时间,故障转移时,如果超过了设置的毫秒,表示故障转移失败。

6.sentinel natification-script mastername script-path

配置当某一事件发生时,所需要的执行脚本

7.sentinel client-reconfig-script mastername script-path

客户端重新配置主节点参数脚步

配置三个sentinel.conf

具体

redis-server /opt/homebrem/etc/redis-sentinel-26379.conf --sentinel
redis-server /opt/homebrem/etc/redis-sentinel-26380.conf --sentinel
redis-server /opt/homebrem/etc/redis-sentinel-26381.conf --sentinel
执行命令 ps -ef|grep redis可看到一下信息

在这里插入图片描述

问题

  1. master如果被shutdown,两台从机是否ok?是否会从机中重新选出master。
    从集OK,会选出新的master

  2. 之前master 如果重启回来,会不会冲突?
    不会,之前的maser 将作为新master的从节点

了解broke pipe

pipe是管道的意思,管道里面是数据流,通常是从文件或网络套接字中读取数据,当该管道从另一端突然关闭,会发生数据突然中断,即broken,对于broken来说,可能是网络被拔出,或者另一端进程崩溃。比如 哨兵模式下,master进程断开,重新选出maser后,那么执行在旧的master上的管道就会中断。

具体细节注意

slave protected-mode =yes 不要配置成no,不知道具体是不是这个原因,我的从机两个配置成yes哨兵就可以正常使用了

master-slave切换细节

master-slave切换后,master_redis.conf,slave_redis_conf和sentinel.conf的内容都会发生改变,即
master_redis_conf中会多出一行replicaof 192.168.8.111:6380。而新的master之前配置的replicaof
192.168.8.110:6379则被删除。
sentinel.conf 的监控目标也将变为新的master

http://www.lryc.cn/news/68893.html

相关文章:

  • 数据库管理-第七十六期 如何升级19c RAC(20230516)
  • 组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python)
  • 实验四 面向对象分析与设计——UML类图与时序图
  • 最短路径问题
  • 国内有哪些SAAS软件?SAAS软件有哪些优点?
  • 分享两组不同的3D VR卡片
  • 外贸人如何精准开发客户?Facebook开发客户全攻略
  • 一、Git安装(Git+TortoiseGit图形化)
  • mysql死锁,如何产生?如何发现?如何处理?
  • YOLO V1-V3 简单介绍
  • 数据结构总结1:了解数据结构、时间复杂度、空间复杂度
  • abstract class和interface有什么区别?
  • Kafka在Java项目中的应用
  • 理解分布式id生成算法SnowFlake
  • 光纤收发器可以连接光模块吗?
  • 一文快速了解浏览器Sui Explorer
  • python中lambda、yield、map、filter、reduce的使用
  • 第十八章 使用LNMP架构部署动态网站环境
  • 无人值守的IDC机房动环综合运维方案
  • 桌面远程工具推荐
  • MySQL高级——第15章_锁
  • 【ROS】Ubuntu22.04安装ROS2(Humble Hawksbill)
  • 【ChatGPT】体验一下ChatGPT
  • Android 串口通信
  • Python3 日期和时间
  • Go 爬虫三种框架的基本使用介绍
  • python实现斐波那契数列详解(黄金分割)
  • 整合营销和内容营销哪个好,有什么区别
  • C# | [二进制字符串] 与 [字节数组] 互相转换,一行代码就搞定! - CodePlus系列
  • Java 细节汇总(5)-Comparator#compare() 升降序确定