您的位置:首页 > 数据库 > Redis

Sentinel(哨兵)实现Redis的高可用性

2020-02-12 13:23 537 查看

a)原理

Sentinel(哨兵)是Redis的高可用性(HA)解决方案,由一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进行下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。

Redis提供的sentinel(哨兵)机制,通过sentinel模式启动redis后,自动监控master/slave的运行状态,基本原理是:心跳机制+投票裁决

① 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。

② 提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。

③ 自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。

服务搭建:

环境准备
redis-master 192.168.162.200 redis主 开启sentinel
redis-slave1 192.168.162.201 redis从 开启sentinel
redis-slave1 192.168.162.199 redis从 开启sentinel

1、开启所有机器上的redis
redis-server /usr/local/redis/etc/redis.conf

yum源安装的启动命令为:systemctl start redis

2、在主上登录查询主从关系,确实主从已经实现;

确定redis主从关系已经存在

redis-cli -h 192.168.162.199 info Replication


3、在任意一台redis主机上配置sentinel 哨兵

vim /usr/local/redis/sentinel.conf(该路径为redis的安装路径)

port 26379   #默认监听端口26379
#sentinel announce-ip 1.2.3.4   #监听地址,注释默认是0.0.0.0
sentinel monitor mymaster 192.168.30.107 6379 1   #指定主redis和投票裁决的机器数,即至少有1个	sentinel节点同时判定主节点故障时,才认为其真的故障
下面保存默认就行,根据自己的需求修改
sentinel down-after-milliseconds mymaster 5000   #如果联系不到节点5000毫秒,我们就认为此节点下线。
sentinel failover-timeout mymaster 60000   #设定转移主节点的目标节点的超时时长。
sentinel auth-pass <master-name> <password>   #如果redis节点启用了auth,此处也要设置password。
sentinel parallel-syncs <master-name> <numslaves>   #指在failover过程中,能够被sentinel并行配置的从节点的数量;

4、开启redis-sentinel服务 ,观察是否26379端口状态;

redis-sentinel /usr/local/redis/sentinel.conf

redis-sentinel服务开启后, 其配置文件sentinel.conf里会出现redis的配置信息,如下;

vim /usr/loacl/redis/sentinel.conf

5、模拟主master-redis 故障,一个从升为新主

干掉192.168.162.200的redis服务
ps -ef | grep redis
kill -9

从从上查询新主是谁
redis-cli -h 192.168.162.199 info Replication

查看新主日志;
tail -100f /uer/local/redis/log/redis.log

然后再重新开启旧主服务;

观察Sentinel哨兵状态;

新主成功的代替了旧主,旧主修复后成为了redis从

  • 点赞
  • 收藏
  • 分享
  • 文章举报
顺顺呀 发布了2 篇原创文章 · 获赞 0 · 访问量 27 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: