Redis之哨兵模式Sentinel配置与启动(五)

   上一篇我们已经介绍了Redis的主从复制,传送门:《Redis高可用之主从复制实践(四)》,想必大家对redis已经有一个概念了,那么问题来了,如果redis主从复制的master服务器挂掉了,那么整体redis就崩溃了,因为master无法进行写数据,导致slave中无法更新数据。

那么为了解决这个问题我们就需要有一种方案让redis宕机后可以自动进行故障转移,还好redis给我们提供一种高可用解决方案 Redis-Sentinel。Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。Sentinel可以监视任意多个主服务器

以及主服务器属下的从服务器,并在被监视的主服务器下线时,自动执行故障转移操作。

  既然有这么好的解决方案,那么我们就来看看如何在我们的服务器上进行配置

 

二、Sentinel配置启动与故障转移

1、环境配置

第一:准备3台服务器,此处我的sentinel就直接放在原先的服务器上

主机说明   主机IP   端口   sentinel端口  
master  

192.168.250.132

 

 

7000

 

26379

 
slave    192.168.250.133   7001   26380  
slave    

192.168.250.134

 

7002

 

 

26381

 

 

 此处要说明一个问题,我这边的sentinel采用的是集群部署的方式,而不是单点,想必大家也知道单点会存在很多的问题,比如:

   1):当sentinel进程宕掉后(sentinel本身也有单点问题,single-point-of-failure)整个集群系统将无法按照预期的方式运行;

   2):如果只有一个sentinel进程,如果这个进程运行出错,或者是网络堵塞,那么将无法实现redis集群的主备切换(单点问题)。

如果有多个sentinel,redis的客户端可以随意地连接任意一个sentinel来获得关于redis集群中的信息;即使有一些sentinel进程宕掉了,依然可以进行redis集群的主备切换;

 

2、创建sentinel配置文件

 进入 132 服务器的redis文件夹下,我们创建一个文件名为 sentinel-26379.conf 配置文件,文件内容如下:

port 26379 daemonize yes logfile "26379.log" dir "./" sentinel monitor mymaster 192.168.250.132 7000 2 sentinel down-after-milliseconds mymaster 30000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 15000 sentinel auth-pass mymaster 123 bind 192.168.250.132 127.0.0.1

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsfjg.html