redis哨兵模式
Posted 路上的风景
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis哨兵模式相关的知识,希望对你有一定的参考价值。
哨兵简介:
主机“宕机”:
哨兵:
哨兵(sentinel) 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的master并将所有slave连接到新的master。
哨兵的作用:
监控
不断的检查master和slave是否正常运行。
master存活检测、master与slave运行情况检测
通知(提醒)
当被监控的服务器出现问题时,向其他(哨兵间,客户端)发送通知。
自动故障转移
断开master与slave连接,选取一个slave作为master,将其他slave连接到新的master,并告知客户端新的服务器地址
注意:
哨兵也是一台redis服务器,只是不提供数据服务
通常哨兵配置数量为单数(因为哨兵在监控时通常是哨兵数量的一半加1认为master“宕机”了,那就认定master“宕机”了)
配置哨兵:
这里配置一拖二的主从结构,
配置三个哨兵(配置相同,端口不同)
参看sentinel.conf
启动哨兵
redis-sentinel sentinel- 端口号 .conf
服务启动的顺序:先起主机,再起从机,最后起哨兵
配置项 | 范例 | 说明 |
port | 26379 | 哨兵端口(默认26379) |
dir | /usr/local/redis/data | 数据存放的位置 |
sentinel auth-pass |
sentinel auth-pass mymaster |
连接服务器口令 |
sentinel monitor <自定义服 |
sentinel monitor mymaster |
设置哨兵监听的主服务器信息,最后的参数决定了最终参与选举的服务器 |
sentinel down-after-milliseconds |
sentinel down-after- |
指定哨兵在监控Redis服务时,判定服务器挂掉的时间周期,默认30秒 |
sentinel parallel-syncs |
sentinel parallel-syncs |
指定同时进行主从的slave数量,数值越大,要求网络资源越高,要求越 |
sentinel failover-timeout |
sentinel failover-timeout |
指定出现故障后,故障切换的最大超时时间,超过该值,认定切换失败, |
sentinel notification-script |
服务器无法正常联通时,设定的执行脚本,通常调试使用。 |
哨兵工作原理:
主从切换
哨兵在进行主从切换过程中经历三个阶段
监控:同步信息
通知:保持连通
故障转移:
发现问题
竞选负责人
优选新master
新master上任,其他slave切换master,原master作为slave故障恢复后连接
阶段一:监控阶段
阶段二:通知阶段
阶段三:故障转移阶段
以上是关于redis哨兵模式的主要内容,如果未能解决你的问题,请参考以下文章