redis哨兵模式-部署

Redis哨兵

介绍

Redis主从只能满足备份的需求!如果Master宕机的话,还得手动配置Slave才能够使用!并不会自动的切换到Slave继续工作!中间耗时费力!无法实现真正的高可用!

 

哨兵 sentine是官方提供的高可用方案!Redis哨兵是一个独立的进程,在运行过程当中会监控所有redis节点的工作状态!当master宕机后会将一台slave升级为master,同时会通知其他的slave修改配置文件,修改master的IP为新的master!哨兵会保证我们的redis集群中一直是有一台可用的master在可以使用

我们为了更有保障的运行哨兵,我们一般会配置多个哨兵!

 

当多个哨兵在同时工作时,master的下线状态有两个:主观下线和客观下线

master出现故障后,如果只是一个哨兵发现了不可用,,此时这种现象被称之为:主观下线,在主观下线的状态下,并不会发生故障转移!当其他的哨兵也发现master不可用后,开始发起投票,当票数达到预先设置的值后,那么就会开始执行failover操作,开始故障转移!升级一台slave为master,同时让其他的slave修改配置,需改master的IP为新的Master。这种现象我们成为:客观下线

 

部署哨兵集群

整理思路

做哨兵集群,我们至少需要3台才能有完整的效果!

准备3台虚拟机,下图如下

 

 

 

 

我们将Redis配置为一主两从模式,同时在每个redis-server再上安装哨兵,哨兵监控每个redis的状态

 

IP规划如下:

Redis Master:192.168.189.161

Redis Slave1 192.168.189.162

Redis Slave2 192.168.189.163

配置redis一主两从集群

3台主机上做如下操作:

安装redis

上传redis安装包到服务器

 

 

 

安装依赖工具gcc

 

 

 

解压安装包,安装redis

 

 

 

 

 

 

配置redis

配置master

 

 

 

 

 

 

 

 

 

 

 

 

启动redis master

 

 

 

 

配置两台slave,配置如下

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

测试主从

登录master

 

 

 

执行:info replication  查看主从复制的信息

 

 

 

创建一个键值对儿

 

 

 

在从上获取,测试是否同步

 

 

 

配置哨兵

我们在3台redis-server虚拟机上配置3个哨兵

3台虚拟机上同时操作

修改配置文件

 

 

 

 

 

 

 

 

 

 

 

 

将修改好的配置文件发送到另外两台主机上

 

 

 

 

 

 

启动所有主机的哨兵

 

 

 

 

查看日志可以看到哨兵之间互相都可发现,并且监控起了master

 

 

 

 

测试停止master

停止redis-server

 

 

 

 

查看日志

 

 

 

 

登陆162查看信息,验证到162已经被升级为master,同时拥有一个slave

 

 

 

 

至此哨兵配置完毕

 

posted @ 2021-04-18 15:42  张小爽  阅读(801)  评论(0编辑  收藏  举报