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

redis-sentinel(哨兵模式)

目录

1、哨兵简介:Redis Sentinel

2、作用

3、工作模式

4、主观下线和客观下线

5、配置哨兵模式

希望能够帮助到大家!!!


1、哨兵简介:Redis Sentinel

        Sentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在redis2.4+的版本中是Redis官方推荐的高可用性(HA)解决方案。

2、作用

        1):Master状态检测

        2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave

        3):Master-Slave切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换

3、工作模式

        1):每个Sentinel以每秒钟一次的频率向它所知的Master,Slave以及其他 Sentinel 实例发送一个 PING 命令

        2):如果一个实例(instance)距离最后一次有效回复 PING 命令的时间超过 down-after-milliseconds 选项所指定的值, 则这个实例会被 Sentinel 标记为主观下线。

        3):如果一个Master被标记为主观下线,则正在监视这个Master的所有 Sentinel 要以每秒一次的频率确认Master的确进入了主观下线状态。

        4):当有足够数量的 Sentinel(大于等于配置文件指定的值)在指定的时间范围内确认Master的确进入了主观下线状态, 则Master会被标记为客观下线

4、主观下线和客观下线

        主观下线:Subjectively Down,简称 SDOWN,指的是当前 Sentinel 实例对某个redis服务器做出的下线判断。

        客观下线:Objectively Down, 简称 ODOWN,指的是多个 Sentinel 实例在对Master Server做出 SDOWN 判断,并且通过 SENTINEL is-master-down-by-addr 命令互相交流之后,得出的Master Server下线判断,然后开启failover

5、配置哨兵模式

        1.每台机器上修改redis主配置文件redis.conf文件设置:bind 0.0.0.0   ---已经操作
        2.每台机器上修改sentinel.conf配置文件:修改如下配置
[root@redis-master src]# cd ..
[root@redis-master redis]# vim sentinel.conf
sentinel monitor mymaster 10.0.0.137 6379 2 #当集群中有2个sentinel认为master死了时,才能真正认为该master已经不可用了。 (slave上面写的是master的ip,master写自己ip)
sentinel down-after-milliseconds mymaster 3000   #单位毫秒
sentinel failover-timeout mymaster 10000   #若sentinel在该配置值内未能完成failover(故障转移)操作(即故障时master/slave自动切换),则认为本次failover失败。
protected-mode no  #关闭加密模式--新添加到sentinel配置文件中
        3.每台机器启动哨兵服务:
[root@redis-master redis]# ./src/redis-sentinel sentinel.conf
注意:在生产环境下将哨兵模式启动放到后台执行:     ./src/redis-sentinel sentinel.conf &

1564310139143

        将master的哨兵模式退出,再将redis服务stop了,在两台slave上面查看其中一台是否切换为master:(没有优先级,为随机切换)

^C4854:signal-handler (1564349039) Received SIGINT scheduling shutdown...
4854:X 29 Jul 05:23:59.592 # User requested shutdown...
4854:X 29 Jul 05:23:59.592 # Sentinel is now ready to exit, bye bye...
[root@redis-master redis]# systemctl stop redis.service

在slave机器上面查看:

1564320905579

1564320763210

slave-2

1564321001791

登陆slave服务器查看有没有切换

1564321176290

登陆master机器查看:

1564321206728

希望能够帮助到大家!!!

相关文章:

  • Tkinter教程21:Listbox列表框+OptionMenu选项菜单+Combobox下拉列表框控件的使用+绑定事件
  • Redis持久化、主从与哨兵架构详解
  • C++入门
  • 嵌入式硬件工程师与嵌入式软件工程师
  • pycharm像jupyter一样在控制台查看后台变量
  • npm 下载报错
  • Spring和Spring Boot的区别
  • django实现外键
  • 四、OpenAI之文本生成模型(Text Generation)
  • 寒假作业-day11
  • KingSCADA实现按钮点击效果
  • 【Linux学习】线程互斥与同步
  • Python算法题集_二叉树的中序遍历
  • Vue3快速上手(三)Composition组合式API及setup用法
  • 【芯片设计- RTL 数字逻辑设计入门 15 -- 函数实现数据大小端转换】
  • PKI - 借助Nginx 实现Https 服务端单向认证、服务端客户端双向认证
  • 如何使用六图一表七种武器
  • 网络安全的今年:量子、生成人工智能以及 LLM 和密码
  • 【Android-Gradle】多模块开发中,定义额外属性(全局变量),穿梭在不同的Gradle文件中(kotlin脚本版)
  • 使用二分查找优化时间复杂度
  • 据报特斯拉寻找新CEO,马斯克财报会议上表态:把更多时间投入特斯拉
  • 美国季度GDP时隔三年再现负增长,特朗普政府关税政策对美国经济负面影响或将持续
  • 马克思主义理论研究教学名师系列访谈|丁晓强:马克思主义学者要更关注社会现实的需要
  • 解放日报:抢占科技制高点,赋能新质生产力
  • 乌方公布矿产协议详情:未提债务义务,包含美再援助条款
  • 美国第一季度经济环比萎缩0.3%