哨兵模式
哨兵模式原理
从机上位的自动版。Redis提供了哨兵的命令,哨兵命令是一个独立的进程,哨兵通过发送命令,来监控主从服务器的运行状态,如果检测到master故障了根据投票数自动将某一个slave转换master,然后通过消息订阅模式通知其它slave,让它们切换主机。然而,一个哨兵进程对Redis服务器进行监控,可能会出现问题,为此,我们可以使用多哨兵进行监控。
哨兵模式搭建
1—7步跟1.17.2.2一主二从搭建一样:一台服务器模拟三台主机、查询主从信息、写操作6379、设置主从关系、全量复制、增量复制、主写从读、读写分离。
8、创建redis_sentinel.conf文件,并编辑里边的内容:sentinel monitor dc-redis 127.0.0.1 6379 1,表示:指定监控主机的ip地址,port端口,得到哨兵的投票数(当哨兵投票数大于或者等于此数时切换主从关系)。
9、新开窗口,启动哨兵:redis-sentinel /opt/redis-5.0.2/redis_sentinel.conf
10、主机宕机:
11、等待从机投票,在sentinel窗口中查看打印信息。
12、查看6380和6381的redis信息:
13、原主机恢复,启动6379:
哨兵模式搭建(配置文件模式)
1—7步跟1.17.2.2一主二从搭建一样:一台服务器模拟三台主机、查询主从信息、写操作6379、设置主从关系、全量复制、增量复制、主写从读、读写分离。
8、复制三份redis_ sentinel.conf文件为redis_sentinel26379.conf、redis_sentinel26380.conf、redis_sentinel 26381.conf,并修改内容:
端口分别修改为26379、26380、26381
哨兵监控策略都修改为:
sentinel monitor mymaster 192.168.235.128 6379 2,表示:指定监控主机的ip地址,port端口,得票数多于2时表示需要切换主从关系。
如果设置密码了,都还需要设置密码:
sentinel auth-pass mymaster 123456
9、新开三个窗口,启动哨兵:./redis-sentinel …/myconfs/sentinel26379.conf
10、主机宕机:
11、等待从机投票,在sentinel窗口中查看打印信息。
12、查看6380和6381的redis信息:
13、原主机恢复,:
小结
操作:
1 查看主从复制关系命令:info replication
2 设置主从关系命令:slaveof 主机ip 主机port
3 开启哨兵模式命令:./redis-sentinel sentinel.conf
4 主从复制原则:开始是全量复制,之后是增量复制
5 哨兵模式三大任务:监控,提醒,自动故障迁移
缺点
Redis的主从复制最大的缺点就是延迟,主机负责写,从机负责备份,这个过程有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,从机器数量的增加也会使这个问题更加严重。