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 monitorsentinel 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月20日 09时11分04秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
如何git到其他分支
2019-04-29
Java找工作必备知识——day04【万字SQL复习】
2019-04-29
LeetCode SQL练习1
2019-04-29
Java找工作必备知识——day05【事务详解】
2019-04-29
Layui的使用
2019-04-29
-jsp-
2019-04-29
EL表达式、JSTL标签库、文件上传和下载
2019-04-29
Cookie、Session
2019-04-29
表单重复提交
2019-04-29
Filter
2019-04-29
WebApi第一天
2019-04-29
WebApi第二天
2019-04-29
WebApi第三天
2019-04-29
WebApi第四天
2019-04-29
骚年快醒醒,你适合转行做前端吗?
2019-04-29
前端会有未来吗?
2019-04-29
15 张前端高清知识地图,强烈建议收藏
2019-04-29
自学前端开发,前端进阶阶段需要学习哪些知识?
2019-04-29
我觉得吧,这么学JavaScript,你才能通
2019-04-29
初学WEB前端的建议,你不看给别人可惜了!
2019-04-29