Redis-哨兵配置

1、sentinel介绍
      Redis Sentinel是用于监控redis集群中Master状态的工具,其已经被集成在redis2.4+的版本中。

1.1、sentinel作用: 
    1)Master状态检测 
    2)如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave 

    3)Master-Slave切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换。

1.2、主从结构+sentinel集群的架构图:

主观下线:Subjectively Down,简称 SDOWN,指的是当前 Sentinel 实例对某个   redis服务器做出的下线判断。 

客观下线:Objectively Down, 简称 ODOWN,指的是多个 Sentinel 实例在对Master Server做出 SDOWN 判断,并且通过 SENTINEL is-master-down-by-addr 命令互相交流之后,得出的Master Server下线判断,然后开启failover.

2、搭建redis-sentinel 集群环境
     搭建集群工作分为两步:   
    1)设置主节点与从节点

    2)开启哨兵监控

2.1、设置主节点与从节点
   1)在redis-4.0.9根目录上创建7501(主)、7502(从)、7503(哨兵)、7504(哨兵) 文件夹,然后将redis安装目录下的  reids.conf,拷贝到前2个目录下,分别命名为: redis-7501.conf , redis-7502.conf。
修改配置文件内容(以redis-7501.conf为例):
daemonize yes 
Port 7501
Bind 127.0.0.1

logfile "./redis-7501.log“

      如图:

 

        2)分别启动7501、7502服务实例,然后登陆7502动态改变主从关系,成为7501的slave。
           启动Redis服务(以redis-7501.conf为例): 
           $ sudo su
           $ ./redis-4.0.9/src/redis-server ./7501/redis-7501.conf &
           动态改变主从关系:
           $ ./redis-4.0.9/src/redis-cli -h 127.0.0.1 -p 7502

           SLAVEOF 127.0.0.1 7501

       如图:

2.2、开启哨兵监控
   1)将redis安装目录下的sentinel.conf,拷贝到后2个目录下,分别命名为: sentinel-7503.conf , sentinel-7504.conf。
   修改配置文件(以sentinel-7503.conf为例):
   port 7503

   sentinel monitor mymaster 127.0.0.1 7501 2

如图:

注:我们启动二个redis实例,其中端口为7501的redis设为master,端口为7502设为slave 。所以my mymaster 后跟的是master的ip和端口,最后一个’2’代表我要启动只要有2个sentinel认为master下线,就认为该master客观下线,启动failover并选举产生新的master。通常最后一个参数不能多于启动的sentinel实例数。

    2)分别启动哨兵7503、7504及一些命令介绍
   启动哨兵服务(以redis-7503.conf为例):

   $./redis-4.0.9/src/redis-sentinel ./7503/sentinel-7503.conf &

如图:

   

sentinel一些命令介绍:
INFO:sentinel的基本状态信息。 
SENTINEL masters:列出所有被监视的主服务器,以及这些主服务器的当前状态 。
SENTINEL slaves:列出给定主服务器的所有从服务器,以及这些从服务器的当前状态。 
SENTINEL get-master-addr-by-name:返回给定名字的主服务器的 IP 地址和端口号。 

SENTINEL failover:当主服务器失效时,在不询问其他 Sentinel 意见的情况下,强制开始一次自动故障迁移,但是它会给其他sentinel发送一个最新的配置,其他sentinel会根据这个配置进行更新。

3)从节点自动切换变成主节点。

   查看本地Redis服务: $ ps –ef|grep redis

关闭主节点7501:$ sudo kill -9 2761

节点7502自动变成主节点:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值