哨兵模式:给集群分配一个站岗的。
哨兵的作用:对Redis系统的运行情况监控,它是一个独立进程,它的功能:
监控主数据库和从数据库是否正常运行;
主数据出现故障后自动将从数据库转化为主数据库;
如果主机宕机,开启选举工作,选择一个从机作为主机。
如何添加从机请查看 Redis主从复制
然后把三个Redis中的持久化文件.rdb .aof 删除
启动三个redis服务,分别以不同端口号启动
启动后通过
info replication
命令进行查看

虽然哨兵(sentinel)释出为一个单独的可执行文件 redis-sentinel,但实际上它只是一个运行在特殊模式下的Redis服务器,你可以在启动一个普通Redis服务器时通过给定 --sentinel选项来启动哨兵(sentinel)。

第一步:配置哨兵
哨兵主要是用来监听主服务器的,所以一般把哨兵部署在从服务器上监听。
配置哨兵:
启动哨兵进程,首先需要创建哨兵配置文件 vi sentinel.conf,可以源码配置redis-5.0.5/sentinel.conf中复制内容,也可以直接自定义该文件到bin目录下
[root@localhost bin]# vi sentinel.conf
在配置中输入:sentinel monitor mastername 内网IP(127.0.0.1)6379 1
说明:
mastername 监控主数据的名称,自定义
127.0.0.1:监控主数据库的IP;
6379:端口号
1:最低通过票数
第二步:启动哨兵
哨兵是一个单独的进程,启动之前确保主从服务都是正常的。先启动主服务,后启动从服务
把日志写入指定文件:
[root@localhost bin]# ./redis-sentinel ./sentinel.conf > sent.log &

启动redis服务后,程序会自动配置文件sentinel.conf,并生成内容,注意:若再启动需要删除下生成的内容。
哨兵启动方式:
[root@localhost bin]# ./redis-server sentinel.conf --sentinel

查看配置文件sentinel.conf中生成的内容:
启动哨兵的时候,修改了哨兵的配置文件。如果需要再次启动哨兵,需要删除myid唯一标示。(保险的做法就是启动的一次,新配置一次)

第三步:主机宕机
机房意外:断电了,硬件故障:硬盘坏了。
redis服务列表

杀死主机
kill -9 pid


哨兵控制台:从库自动提升为主库


同时也会自动修改redis.conf的主从配置文件。
replicaof 127.0.0.1 6380
指向了新主机,再次启动原有的主机,原有的主机会变为从机。

总结:
主从集群:主机有写入权限。从机没有,只有可读。
意外宕机方案:
手动回复:人为重启服务器,主机宕,把从机设置为主机。
自动恢复:使用哨兵监控,自动切换主从。




