redis(23):集群之哨兵-部署与使用

上篇文章学习了redis哨兵模式的概念+原理,现在继续学习下哨兵的部署和使用


1、部署

1.1 环境

win10
redis Redis-x64-5.0.10

1.2 规划

redis主从的安装参考这里
一主二从三哨兵(原来6379端口的redis留作单独模式)

文件夹端口角色是否哨兵
Redis-x64-5.0.10 - 63806380
Redis-x64-5.0.10 - 63816381
Redis-x64-5.0.10 - 63826382

1.3 配置

  1. 主库6380的哨兵配置

在 Redis-x64-5.0.10 - 6380 目录下添加 sentinel.conf 文件,配置内容如下:

# 配置地址及端口
port 26380
# 配置地址
# 不配置会报错:Creating Server TCP listening socket *:26380: listen: UnKnown error
bind 127.0.0.1
# 所有哨兵监听的都是主服务器,当前主服务器是 6380,所以就监控 6380
# 将这个主服务器判断为失效至少需要 2 个 Sentinel 同意 (只要同意 Sentinel 的数量不达标,自动故障迁移就不会执行)
sentinel monitor mymaster 127.0.0.1 6380 2
# 3s内mymaster无响应,则认为mymaster宕机了
sentinel down-after-milliseconds mymaster 3000
#如果10秒后,mysater仍没启动过来,则启动failover  
sentinel failover-timeout mymaster 10000
# 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步
sentinel parallel-syncs mymaster 1

在这里插入图片描述

  1. 在从库6381和6382配置哨兵

在各自目录下添加 sentinel.conf 文件,配置内容如下:

# 6382 部署直接更改 port 为 26382,其他不改
port 26381
bind 127.0.0.1
 
# 每个从服务也都监控主服务的地址和端口
sentinel monitor mymaster 127.0.0.1 6380 2
sentinel down-after-milliseconds mymaster 3000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1
 
# 如果主服务 redis 存在密码 qwerty,需要如下部署密码
# sentinel auth-pass master qwerty

2、使用

  1. 使用命令行启动一主二从
redis-server.exe redis.windows.conf

在这里插入图片描述

  1. 使用命令启动三个哨兵
redis-server.exe sentinel.conf --sentinel

在这里插入图片描述

  1. 查看目前主从信息
#在6380的客户端执行 下面命令,可以看到6380为master,其他两个是slave
info replication

#在63816382的客户端执行下面命令,可以看到6381为slave,6380是master
info replication
  1. 关闭主库6380,看哨兵信息
    可以看到2个哨兵26381和26382检查到6380主库shutdown后switch-mater
    在这里插入图片描述

在这里插入图片描述
5. 启动6380库
启动后 info replication可以看到6380自动变成从库


3. 遇到问题

redis-server.exe redis.windows.conf 或redis-server.exe sentinel.conf --sentinel命令时候报错

错误为:

Invalid argument during startup: unknown conf file parameter

空行中有空格键占位,去掉后即可;


更多关于哨兵机制原理可以参考:Redis Sentinel

相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页