redis哨兵模式(sentinel)介绍和简单使用方法
发布日期:2021-06-29 15:52:18
浏览次数:3
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月12日 12时33分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Mariadb基础管理
2021-07-02
awk 的内置变量 NF、NR、FNR、FS、OFS、RS、ORS
2019-04-29
CentOS系统内核升级攻略
2019-04-29
linux系统时区修改(Debian的主机和docker)
2019-04-29
docker-compose 安装
2019-04-29
crontab 定时任务
2019-04-29
查看docker veth pair与宿主机上网卡的对应关系
2019-04-29
使用 GitLab CI 进行持续集成的一些踩坑
2019-04-29
企业云盘给贸易业带来新的效益
2019-04-29
Linux入门常用命令
2019-04-29
Spring整理
2019-04-29
SpringMvc加强
2019-04-29
初识Vue全家桶 Nuxt.js(一)
2019-04-29
基本路由及动态路由(二)
2019-04-29
视图:默认模板+默认布局(自定义布局)+nuxt.js页面(三)
2019-04-29
基于nuxt下asyncData,fetch发送axios请求(四)
2019-04-29