redis哨兵模式(sentinel)介绍和简单使用方法
发布日期:2021-06-29 15:52:18 浏览次数:2 分类:技术文章

本文共 2688 字,大约阅读时间需要 8 分钟。

一般情况下,master和slave的关系需要手动设置,master宕机后slave会原地待命,等待master恢复

如果需要将slave设置成master,需要手动设置

实际生产环境中不可能时刻人工监控redis的服务状态,需要使用其他方式自动监控,哨兵模式就是这种实现方式

哨兵模式会监控redis的主从状态,如果master宕机,会采用slave集体投票的方式选择一个成为master,master恢复后会成为slave

配置

  • 哨兵监控需要用到 redis-sentinel

  • 配置文件需要手动编写 sentinel.conf

# sentinel monitor 
sentinel monitor host6379 127.0.0.1 6379 1
  • 参数释义

    • hostname: 自定义一个标识
    • num: 超过num票数的slave会成为master
  • 启动哨兵

    • ./redis-sentinel /pathxxx/sentiel.conf

在这里插入图片描述

  • 注意:启动哨兵后配置文件会写入一些数据

示例

启动三个redis实例,6379为master, 6380和6381为slave

时间序号 操作或命令 哨兵 6379 6380 6381
0 6380设置为6379的slave 成为slave
1 6381设置为6379的slave 成为slave
2 启动哨兵
./redis-sentinel sentiel.conf
发现slave 发现slave
3 6380宕机 slave掉线
4 报告slave宕机
5 6380恢复
6 报告slave重启,恢复6380为slave slave上线
7 master宕机 master宕机
8 报告master宕机,选取6381为master,并将6380、6379设置为6381的slave
报告slave 6379宕机
成为slave, slave掉线 成为slave 成为master
9 master恢复
10 报告slave重启,恢复6379为slave slave上线

下面是各个步骤中哨兵程序的一些输出信息

#===== step 4 =====#  +sdown slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379 # ====== step 6 =====# -sdown slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379      * +convert-to-slave slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379  # ===== step 8 =====# +sdown master host6379 127.0.0.1 6379# +odown master host6379 127.0.0.1 6379 #quorum 1/1 # +new-epoch 1# +try-failover master host6379 127.0.0.1 6379# +vote-for-leader 3c5b1a23624c1ec6e495971ad76f53c4154f308e 1# +elected-leader master host6379 127.0.0.1 6379# +failover-state-select-slave master host6379 127.0.0.1 6379# +selected-slave slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6379* +failover-state-send-slaveof-noone slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6379* +failover-state-wait-promotion slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6379# +promoted-slave slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6379# +failover-state-reconf-slaves master host6379 127.0.0.1 6379* +slave-reconf-sent slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379* +slave-reconf-inprog slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379* +slave-reconf-done slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379# +failover-end master host6379 127.0.0.1 6379 +switch-master host6379 127.0.0.1 6379 127.0.0.1 6381* +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6381* +slave slave 127.0.0.1:6379 127.0.0.1 6379 @ host6379 127.0.0.1 6381# +sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ host6379 127.0.0.1 6381# ====== step 10 =========# -sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ host6379 127.0.0.1 6381* +convert-to-slave slave 127.0.0.1:6379 127.0.0.1 6379 @ host6379 127.0.0.1 6381

转载地址:https://console.blog.csdn.net/article/details/115407190 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Poj百练 4110:圣诞老人的礼物-Santa Clau’s Gifts (分类:贪心)
下一篇:Poj百练 3468:电池的寿命 (分类:贪心)

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月20日 09时11分04秒