正文

回到顶部

环境搭建:

 

前言:

小编使用的redis的版本号是5.0.5,可能会略有不同,例如redis.conf配置文件中,没有slaveof这一项配置

虚拟机一定要关闭掉防火墙

本次使用7006作为master,7007,7008作为slave

为了方便直接在slave的配置文件中写好master的配置(配从不配主),配置好master的ip,redis的端口和密码

 

slave的redis.conf里主机配置:

 

 启动主机和从机后一主二从模式就ok了,可以简单测试一下

下面开始配置哨兵

新建了一个sentinel文件夹用来存储哨兵的配置文件,并创建了哨兵的配置文件sentinel.conf(建议直接拷贝文件名):

小编是配置放在了安装目录下:/usr/local/bin

a、mkdir sentinel

b、touch sentinel.conf

c、在sentinel.conf文件中增加如下配置:

1.sentinel monitor <master-name> <ip> <redis-port> <quorum>

告诉sentinel去监听地址为ip:port的一个master,这里的master-name可以自定义,quorum是一个数字,指明当有多少个sentinel认为一个master失效时,master才算真正失效。

master-name只能包含英文字母,数字,和“.-_”这三个字符需要注意的是master-ip 要写真实的ip地址而不要用回环地址(127.0.0.1),

如果在同一台主机上测试也是可以的( sentinel monitor (自己起名字) 127.0.0.1 6379 1)。

 配置示例:

sentinel monitor mymaster 192.168.1.5 6379 2

 

2.sentinel auth-pass <master-name> <password>

设置连接master和slave时的密码,注意的是sentinel不能分别为master和slave设置不同的密码,因此master和slave的密码应该设置相同。

配置示例:sentinel auth-pass mymaster 0123passw0rd

示例:

 

 

 

 

 

 d、在安装目录下执行redis-sentinel sentinel/sentinel.conf开启监控

 

后记:

模拟步骤:

原master使用的是7006,后启动了哨兵模式,让master模拟故障(shutdown),哨兵选取了slave 7007作为新的master,slave 7008挂载到7007下,

打开7008的redis.conf配置文件也发现,7008的配置文件也被哨兵修改了,由原本的7006改为了7007

此时将7006重新启动,稍后可以发现7006作为7007的slave并入复制结构中,打开7006的配置文件可以发现,在7006配置文件的最下方追加了replicaof master的信息,但是没有追加密码信息;

 

重启7006的redis服务器,也会因为配置文件被修改而直接作为7007的slave出现

转自:https://www.cnblogs.com/lzghyh/p/12162688.html