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

Redis-Sentinel redis的哨兵模式

2017-12-26 16:33 429 查看

Redis Sentinel 模式简介

Redis-Sentinel是官方推荐的高可用解决方案,当redis在做master-slave的高可用方案时,假如master宕机了,redis本身(以及其很多客户端)都没有实现自动进行主备切换,而redis-sentinel本身也是独立运行的进程,可以部署在其他与redis集群可通讯的机器中监控redis集群。

它的主要功能有一下几点

1、不时地监控redis是否按照预期良好地运行;

2、如果发现某个redis节点运行出现状况,能够通知另外一个进程(例如它的客户端);

3、能够进行自动切换。当一个master节点不可用时,能够选举出master的多个slave(如果有超过一个slave的话)中的一个来作为新的master,其它的slave节点会将它所追随的master的地址改为被提升为master的slave的新地址。

4、哨兵为客户端提供服务发现,客户端链接哨兵,哨兵提供当前master的地址然后提供服务,如果出现切换,也就是master挂了,哨兵会提供客户端一个新地址。

哨兵(sentinel)本身也是支持集群的

很显然,单个哨兵会存在自己挂掉而无法监控整个集群的问题,所以哨兵也是支持集群的,我们通常用三台哨兵机器来监控一组redis集群。

环境准备:

centos服务器3台
redis-1
redis-2

redis-3

引入哨兵。

redis-1、redis-2、redis-3搭建完毕主从后,我们开始引入哨兵。
哨兵是一个单独的程序,所以我们需要单独部署它。
若是在其他机器上部署哨兵,那么请用上面的redis安装脚本重新安装一遍redis。
在这里我已经部署完毕了

增加哨兵的配置文件。

vim sentinel.conf

bind 0.0.0.0

protected-mode no

port 26379

logfile "/tmp/sentinel.log"

dir "/tmp"

sentinel monitor mymaster 127.0.0.1 6379 1

sentinel down-after-milliseconds mymaster5000

#sentinel can-failover mymaster yes

sentinel failover-timeout mymaster 900000

 

启动哨兵

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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: