Redis 主从复制之哨兵sentinel 学习

版权声明:本文为博主原创文章,欢迎分享转载。 https://blog.csdn.net/qq_29897369/article/details/88378861

前言

之前学习配置redis 主从配置,但是在master redis服务停止之后,这时候没有master
需要我们人工去修改配置文件。来重新设置master。因为随机性很强所以需要人工随时监控。这样带来不便 所以有了sentinel
来监控redis 主从服务服务。

sentinel 配置文件

port 26389
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 60000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

配置说明:port 就是你哨兵服务的端口号 没有具体 只要和其他端口号区分开来就可以。
sentinel monitor mymaster 127.0.0.1 6379 1:第一行配置指示 Sentinel 去监视一个名为 mymaster 的主服务器, 这个主服务器的 IP 地址为 127.0.0.1 , 端口号为 6379 , 而将这个主服务器判断为失效至少需要 2 个 Sentinel 同意 (只要同意 Sentinel 的数量不达标,自动故障迁移就不会执行)。
sentinel down-after-milliseconds mymaster 60000:选项指定了 Sentinel 认为服务器已经断线所需的毫秒数
sentinel failover-timeout mymaster

  • 同一个sentinel对同一个master两次failover之间的间隔时间。

  • 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。

  • 当想要取消一个正在进行的failover所需要的时间。

  • 当进行failover时,配置所有slaves指向新的master所需的最大时间。不过,即使过了这个超时,slaves依然会被正确配置为指向master,但是就不按parallel-syncs所配置的规则来了

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

其他参考:http://redisdoc.com/topic/sentinel.html

验证测试

  • 启动redis-server 服务后检查info
    在这里插入图片描述通过图中发现master 就是6379

  • 再模拟宕机6379发现如图
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述通过info 命令发现自动切换成功。

注意:

  • 可以通过配置加上密码启动redis-server配置文件也需要加,具体参考http://redisdoc.com/topic/sentinel.html — masterauth < master-password >
  • 也可以通过命令修改从服务被选举成主服务的优先级。priority is 100 默认100
    越小越优先级高

猜你喜欢

转载自blog.csdn.net/qq_29897369/article/details/88378861