哨兵: Redis一主二从Sentinel监控配置

本文转载:

本文基于Redis单实例安装。

CentOS7安装Redis单实例

开启哨兵模式,至少需要3个Sentinel实例(奇数个,否则无法选举Leader)。
本例通过3个Sentinel实例监控3个Redis服务(1主2从)。

IP地址	          节点角色&端口
192.168.8.203	Master:6379 / Sentinel : 26379
192.168.8.204	Slave :6379 / Sentinel : 26379
192.168.8.205	Slave :6379 / Sentinel : 26379

防火墙记得关闭!!!

网络结构图:

在204和205的redis.conf配置中添加一行

slaveof 192.168.8.203 6379

在203、204、205创建sentinel配置文件(单例安装后根目录下默认有sentinel.conf,可以先备份默认的配置)


cd /usr/local/soft/redis-5.0.5
mkdir logs
mkdir rdbs
mkdir sentinel-tmp
cp sentinel.conf sentinel.conf.bak
>sentinel.conf
vim sentinel.conf

sentinel.conf配置文件内容,三台机器相同

daemonize yes
port 26379
protected-mode no
dir "/usr/local/soft/redis-5.0.5/sentinel-tmp"
sentinel monitor redis-master 192.168.8.203 6379 2
sentinel down-after-milliseconds redis-master 30000
sentinel failover-timeout redis-master 180000
sentinel parallel-syncs redis-master 1

在3台机器上分别启动Redis和Sentinel

cd /usr/local/soft/redis-5.0.5/src
./redis-server ../redis.conf
./redis-sentinel ../sentinel.conf

哨兵节点的另一种启动方式:

./redis-server ../sentinel.conf --sentinel

在3台机器上查看集群状态:

$ /usr/local/soft/redis-5.0.5/src/redis-cli
redis> info replication

模拟master宕机,在203执行:

redis> shutdown

注意看sentinel.conf里面的redis-master被修改了,变成了当前master的IP端口。


$ /usr/local/soft/redis-5.0.5/src/redis-cli
redis> info replication

这个时候会有一个slave节点被Sentinel设置为master。
再次启动master,它不一定会被选举为master。

slave宕机和恢复测试省略。

注意这里有的同学遇到了坑,
1、slave可以显示master信息,而master没有slave信息。
2、master宕机后slave没有被提升为master。

可能有几个主要原因:
1、master信息配置不正确。
2、还有偶阵雨Miao同学碰到的,需要配置auth-pass。

posted @ 2020-08-15 10:46  天空依然蓝  阅读(29)  评论(0)    收藏  举报