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台主机上做如下操作:
l 安装redis
上传redis安装包到服务器
安装依赖工具gcc
解压安装包,安装redis
l 配置redis
配置master
启动redis master
配置两台slave,配置如下
l 测试主从
登录master
执行:info replication 查看主从复制的信息
创建一个键值对儿
在从上获取,测试是否同步
配置哨兵
我们在3台redis-server虚拟机上配置3个哨兵
3台虚拟机上同时操作
l 修改配置文件
将修改好的配置文件发送到另外两台主机上
l 启动所有主机的哨兵
l 查看日志可以看到哨兵之间互相都可发现,并且监控起了master
l 测试停止master
停止redis-server
查看日志
l 登陆162查看信息,验证到162已经被升级为master,同时拥有一个slave
至此哨兵配置完毕