Redis sentinel 集群配置

 

监控多个集群:

每一个哨兵都可以去监控多个maser-slaves的主从架构

因为可能你的公司里,为不同的项目,部署了多个master-slaves的redis主从集群

相同的一套哨兵集群,就可以去监控不同的多个redis主从集群

你自己给每个redis主从集群分配一个逻辑的名称

sentinel monitor 集群A 127.0.0.1 6379 2

sentinel monitor 集群B 127.0.0.1 6379 2

 

安装要求:

只要安装redis就可以了,不需要去部署redis实例的启动

 

具体配置:

port 5000
bind 192.168.1.161
dir /var/sentinel/5000

sentinel monitor mymaster 192.168.1.161 6379 2

#如果redis有访问密码,则必须配置这个属性,如果不配置,sentinel启动时不会有任何报错,但监控不到Redis
#而且很重要一点,这个属性必须在 sentinel monitor 之后,不然报错:“No such master with specified name.”
sentinel auth-pass mymaster redispwd

sentinel down-after-milliseconds mymaster 30000 sentinel failover-timeout mymaster 60000 sentinel parallel-syncs mymaster 1

#生产环境配置下面内容
#使用命令启动哨兵后,哨兵自动进入后台执行
daemonize yes
#先用命令创建目录 mkdir -p /var/log/sentinal logfile /var/log/sentinal/5000

端口:5000   哨兵默认用26379端口,默认不能跟其他机器在指定端口连通,只能在本地访问

配置要监控的Redis:  sentinel monitor master-group-name hostname port quorum

down-after-milliseconds: 超过多少毫秒跟一个redis实例断了连接,哨兵就可能认为这个redis实例挂了

parallel-syncs: 这个参数一般不去修改。新的master别切换之后,同时有多少个slave被切换到去连接新master,重新做同步,数字越低,花费的时间越多

failover-timeout: 执行故障转移的timeout超时时长

 

启动哨兵进程

下面两种启动方式都可以:

redis-sentinel /etc/sentinel/5000.conf
#或者
redis-server /etc/sentinel/5000.conf --sentinel

日志里会显示出来,每个哨兵都能去监控到对应的redis master,并能够自动发现对应的slave

哨兵之间,互相会自动进行发现,用的就是之前说的pub/sub,消息发布和订阅channel消息系统和机制

 

检查哨兵状态

redis-cli -h 192.168.1.161 -p 5000

sentinel master mymaster
SENTINEL slaves mymaster
SENTINEL sentinels mymaster

SENTINEL get-master-addr-by-name mymaster

 

哨兵集群实际效果

哨兵能自动发现 redis的主从各个节点是否挂掉,也能发现哨兵节点是否挂掉。

当发现Redis主节点挂掉后,哨兵会通过投票选举机制将一台从节点提升为主节点,之前挂掉的那台主节点重新启动后,会设置为从节点。

#刷新所有信息,立刻检查Redis主从各个节点情况
SENTINEL RESET *

 

daemonize yeslogfile /var/log/sentinal/5000

posted on 2018-03-12 22:21  HB1  阅读(1030)  评论(0)    收藏  举报

导航