Redis学习之哨兵模式配置文件详解

本文详细介绍了Redis Sentinel的配置文件sentinel.conf,包括哨兵端口、工作目录、主节点监控、密码设置、主观下线时间、并行复制数量、故障转移超时时间、通知及客户端重配置脚本等关键参数。通过对这些参数的设置,可以实现高可用性和自动化故障恢复,确保Redis集群的稳定运行。
摘要由CSDN通过智能技术生成

        话不多说,直接上配置文件

# Example sentinel.conf


# 1、哨兵sentinel 实例运行的端口 默认26379
port 26379

# 2、 哨兵 sentinel 的工作目录
dir "/usr/local/bin"

# 3、哨兵sentinel监控的redis主节点 host port
#   - master-name 可以自己对 主节点 明明
#   - quorum      配置多少个sentinel 哨兵认为master 主节点失联,那么这个时候就客观的认为失恋了
# sentinel monitor master-name host port quorum
sentinel monitor myredis 127.0.0.1 7371 1


# 4、在Redis实例中开启了密码,这时,所有连接Redis的客户端都需要密码
#    - 设置了哨兵sentinel 连接上主从的密码,注意必须设置一样的验证码
#    sentinel auth-pass master-name password
sentinel auth-pass myredis 123456


# 5、指定多少毫秒后 主节点没有回答哨兵sentinel 此时 哨兵主观上认为主节点离线  默认30秒
#   sentinel down-after-milliseconds <master-name> <milliseconds>
sentinel down-after-milliseconds myredis 30000

# 6、这个配置指定了在发生failover 主备切换时最多可以由多少个slave同时对新的master进行同步
    - 这个数字越小,完成failover 所需的时间越长
    - 这个数字越大,就意味着越多的slave 因为repkication 而不可用
    - 可以通过将这个值设为 1 来保证每次只有一个slave 处于不能处理命令请求的状态
#    sentinel parallel-syncs <master-name> <numreplicas>
sentinel parallel-syncs mymaster 1

# 7、故障转移的时间 failover-timeout 可以用一下这些方面
   同一个sentinel 对同一个master 两次failover  之间的间隔时间
   当想要取消一个正在进行的fai1over所需要的时间,直到slave 被纠正为向正确的master那里同步数据时
    当进行fai1over时,配置所有slaves指向新的master所需的最大时间。不过,即使过了这个超时,s1aves依然会被正确配置为指向 master,但是就不按para11e1-syncs所配置的规则来了
# sentinel failover-timeout <master-name> <milliseconds> 默认三分钟
sentinel failover-timeout mymaster 180000

# 8、配置当某一个事件发生时需要执行的脚本,可以通过脚本来通知管理员,例如当系统运行不正常时,发送
    邮件通知相关人员
    - 对于脚本的运行结果有以下规则:
        1.若脚本执行后返回1,那么该脚本稍后会重新执行,重复次数默认为10
        2.若脚本执行后返回2,或者是比2更高的返回值,脚本将不会执行
        3.若脚本在执行过程中由于收到系统中断信号被终止了,则同返回值1的时候的相同
        4.一个脚本执行的最大时间为60s,如果超过这个时间,脚本将会被一个SIGKILL信号终止,重新执行
    - 通知型脚本:当sentine1有任何警告级别的事件发生时(比如说re dis实例的主观失效和客观失效等等),将会去调用这个脚本,这时这个脚本应该通过邮件,SMS等方式去通知系统管理员关于系统不正常运行行的信息。调用该脚本时,将传给脚本两个参数,一个是事件的类型,一个是事件的描述。如果sentine1.conf配置文件中配置了这个脚本路路径,那么必须保证这个脚本存在于这个路径,并且是可执行的,否则 sentine1无法正常启动成功。
#     sentinel notification-script <master-name> <script-path>
sentinel notification-script mymaster /var/redis/notify.sh

# 9、客户端重新配置主节点参数脚本
    - 当一个master 发生改变时,这个脚本就会被调用,通知相关的客户端关于 master 地址已经发生改变
    - 一下参数将会在调用脚本的时候传给脚本
        1. <master-name> <role> <state> <from-ip><from-port><to-ip><to-port>
        2. 目前<state>总是"failover”
        3. <ro1e>是"leader"或者"observer”中的一个。
        4. 参数from-ip,from-port,to-ip,to-port是用来和旧的master和新的master(即旧的s1ave)通信的
        5. 这个脚本应该是通用的,能被多次调用,不是针对性的
#    sentinel client-reconfig-script <master-name> <script-path>
sentinel client-reconfig-script mymaster /var/redis/reconfig.sh

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倪家李子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值