首页 > 编程知识 正文

redis哨兵模式配置,redis的多哨兵模式

时间:2023-05-06 11:53:20 阅读:159280 作者:4437

哈喽,欢迎来到小朱课堂,下面开始你的学习吧!

Redis 哨兵模式,哨兵模式优缺点,哨兵模式配置文件的配置信息

少废话,直接上代码((总结) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

Redis哨兵模式1 .主服务器关闭后,必须手动将一台服务器从服务器切换到主服务器。 这需要人工干预,很费工夫,在一段时间内服务器将无法使用。 这不是推荐的方法。

2 .此时,考虑哨兵模式。 哨兵模式是一种特殊的模式,是一个独立的过程。 通过向redis服务器发送命令并等待redis服务器的响应,监视多个redis服务器的运行状态。 当主服务器宕机时,通过选举算法选择一台从服务器作为新主机,发出订阅模式并通知其他服务器,更改配置文件,设置新主机信息。

3 .多哨兵模式:当然一个哨兵也不能满足高可用性需求,可能需要多个哨兵同时监控,各哨兵之间也要互相监控。 例如,如果有3个哨兵和3个redis服务器,则15条监测线将开启。 哨兵1监控到主服务器的离线【主观离线】时,不是立即选择新主机,而是等待后面的哨兵检测。 如果有一定数量的哨兵检测到主服务器脱机,则投票选出新主机。 并推出订阅模式,实现各哨兵将自己监控的从服务器切换到主机的【客观离线】。

4 .命令:使用redis-sentinel sentinel.conf打开哨兵。

哨兵模式的优缺点:

1、哨兵集群基于主从复制模式,具有所有主从配置的优点,它都有

2、主从切换、故障转移、高可用性系统

3、哨兵模式是主从模式的升级,手动自动,更结实

坏处:

1、Redis不擅长在线扩展,当集群容量达到上限时,在线扩展非常麻烦

2、哨兵模式配置繁琐

哨兵模式配置文件配置信息#Example sentinel.conf#哨兵sentinel实例运行的端口缺省为26379port 26379#哨兵sentinel的工作目录dir /tmp#哨兵sentinel 是master-# quorum配置了多少个sentinel哨兵,统一认为master主节点已关闭? # sentinelmonitormaster-nameipredis-portquorumsentinelmonitormymaster 127.0.0。 如果为Redis实例打开了requirepass foobared验证密码,则连接到Redis实例的所有客户端都必须提供密码。 #哨兵设置sentinel连接主从密码。 注意主从设置相同的认证密码# sentinel auth-pass master-namepasswordsentinelauth-passmymasterxxx #后多少毫秒主节点没有响应哨兵此时哨兵主观上判断为主节点离线,默认30秒# sentinel down-after-milliseconds master-namemillisecondssentineldown-after。 此设置指定发生故障转移主切换(选举)时,可以与新主服务器同时同步的slave数。 数字越小,完成故障所需的时间越长,但该数字越大,意味着无法用于复制的slave的数量越多。 通过将此值设置为1,可以保证一次只有一个slave无法处理命令请求。 # sentinel parallel-syncs master-namenumslavessentinelparallel-syncsmymaster1#故障切换超时时间failover-timeout在以下方面#1.计算同一主#2. slave从错误的主同步数据后的时间。 直到slave被修改为将数据同步到正确的master。 #3.要取消正在进行的故障转移所需的时间。 #4.进行故障转移时,配置所有slaves指向新主服务器所需的时间很大。 但是,即使经过了这个超时,slaves也会被正确设定为指向master。 但是,不再遵守并行同步配置的规则#默认3分钟# sentinel failover-time out master-namemillisecondssentinelfailover-timel #如果在执行脚本后返回1,则稍后将重新执行脚本。 重复次数现在默认为10。 执行#脚本后返回2,或者大于2

高的一个返回值,脚本将不会重复执行。#如果脚本在执行过程中由于收到系统中断信号被终止了,则同返回值为1时的行为相同。#一个脚本的大执行时间为60s,如果超过这个时间,脚本将会被一个SIGKILL信号终止,之后重新执行。#通知型脚本:当sentinel有任何警告级别的事件发生时(比如说redis实例的主观失效和客观失效等等),将会去调用这个脚本,这时这个脚本应该通过邮件,SMS等方式去通知系统管理员关于系统不正常运行的信息。调用该脚本时,将传给脚本两个参数,一个是事件的类型,一个是事件的描述。如果sentinel.conf配 置文件中配置了这个脚本路径,那么必须保证这个脚本存在于这个路径,并且是可执行的,否则sentinel无 法正常启动成功。#通知脚本# sentinel notification-script <master-name> <script-path>sentinel notification-script mymaster /badzm/redis/notify.sh#客户端重新配置主节点参数脚本# 当一个master由于failover而发生改变时,这个脚本将会被调用,通知相关的客户端关于master地址已经发生改变的信息。#以下参数将会在调用脚本时传给脚本:# <master-name> <role> <state> <from-ip> <from-port> <to-ip> <to-port># 目前<state>总是“failover”, # <role>是“leader”或者“observer”中的一个。#参数 from-ip, from-port, to-ip, to-port是用来和旧的master和新的master(即旧的slave)通信的# 这个脚本应该是通用的,能被多次调用,不是针对性的。# sentinel client-reconfig-script <master-name> <script-path>sentinel client-reconfig-script mymaster /badzm/redis/reconfig.sh

搬砖路上,希望对你有帮助!可以关注一下哟,持续更新哟! 有问题可以私聊博主,快发表一下你的看法吧!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。