ITPub博客

首页 > 数据库 > NoSQL > redis续11-sentinel高可用

redis续11-sentinel高可用

原创 NoSQL 作者:a3zi 时间:2015-02-02 23:15:58 0 删除 编辑

上一篇文章,我们研究了redis的主从,即master-slave。

现在更深入一下,如果master宕机,slave能不能自动切换成master呢?这个问题交给sentinel(哨兵)就可以了,当然这是在redis 3.0版本之前的解决方案。

sentinel主要是为Redis master-slaves集群进行master存活检测;进行m-s服务监控;以及出现故障后,进行自动故障转移,让master和slave自动切换,从而提高redis集群的可用性.

简而言之,当master宕掉后,sentinel可以让slave自动切换为master!

先准备环境:

我在同一台机器上配置3个redis服务和3个sentinel服务。

redis.conf配置文件,主要是port不同,运行角色不同,其他基本一致。

 

master的redis.conf配置文件:

##redis.conf 

##redis-0,默认为master 

port 6379 

##授权密码,请各个配置保持一致 

requirepass  6yhn&UJM 

masterauth   6yhn&UJM   

##rename-command 

appendonly yes 

save “” 

##slaveof no one 

slave-read-only yes

 

slave1的redis.conf配置文件:

#redis.conf

port  6380   #端口不同

slaveof 127.0.0.1  6379 

#其他配置一致

 

slave2的redis.conf配置文件:

#redis.conf    

port  6381   #端口不同

slaveof 127.0.0.1 6379 

#其他配置一致

从上面的配置,我们可以看出:redis1是master,redis2和redis3是slave.

sentinel.conf配置:

在每个redis下配置sentinel.conf文件如下

##redis-1

##sentinel实例之间的通讯端口 

port  26379 

sentinel monitor def_master 127.0.0.1  6379  2 

sentinel auth-pass def_master  6yhn&UJM 

sentinel down-after-milliseconds def_master 30000 

sentinel can-failover def_master yes 

sentinel parallel-syncs def_master 1 

sentinel failover-timeout def_master 900000

 

##redis-2 

port  26380 

sentinel monitor def_master 127.0.0.1  6379  2 

sentinel auth-pass def_master  6yhn&UJM 

sentinel down-after-milliseconds def_master 30000 

sentinel can-failover def_master yes 

sentinel parallel-syncs def_master 1 

sentinel failover-timeout def_master 900000

 

##redis-3 

port  26381

sentinel monitor def_master 127.0.0.1  6379  2 

sentinel auth-pass def_master  6yhn&UJM 

sentinel down-after-milliseconds def_master 30000 

sentinel can-failover def_master yes 

sentinel parallel-syncs def_master 1 

sentinel failover-timeout def_master 900000

 

启动和测试:

redis-server    /usr/local/redis/conf/redis.conf 

##启动sentinel组件 

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

依次启动redis-1,redis-2,redis-3和sentinel1,sentinel2,sentinel3

测试略……

 

总结:总体来看,sentinel(哨兵),有点像zookeeper

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29806344/viewspace-1424430/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: redis续12-事务
请登录后发表评论 登录
全部评论

注册时间:2014-08-15

  • 博文量
    45
  • 访问量
    228904