redis之哨兵模式

一、简介

通过上篇文章主从复制的学习,相信小伙伴都成功搭建了主从复制的环境,但是我们在知道,假如master主节点发生宕机现象,那么从节点并不会接替主节点继续工作,而是在原地待命,其实这样不好,我们希望的是当主节点宕机之后,从节点可以选举产生出一个成为master主节点,然后继续工作。这就需要使用到哨兵模式sentinel,通过哨兵模式可以实现自动化的系统监控和故障恢复

  • 哨兵作用:哨兵主要是用来监控Redis系统的运行状态,功能包括以下两个:
  • 监控主数据库和从数据库是否正常运行;
  • 主数据库出现故障时自动将从数据库转换为主数据库;

二、哨兵模式配置

还是以前面一篇文章的三个redis服务搭建主从复制作为测试:

192.168.8.130:6379
192.168.8.130:6380
192.168.8.130:6381

【a】首先建立一主两从环境

6379作为主节点,6380和6381作为6379的从节点。

【b】然后在redis.conf配置文件的地方创建sentinel.conf文件:

touch sentinel.conf

【c】然后编辑文件:

vim sentinel.conf

输入下面的命令:

# sentinel monitor master-name ip redis-port quorum
sentinel monitor host6379 127.0.0.1 6379 1
  • host6379 :是要监控的主机名 可以随意取;
  • 127.0.0.1:主节点所在主机IP;
  • 6379:主节点redis服务的端口号;
  • 最后的1 表示的是哨兵投票通过的最低票数,得票数多的成为主机;
  • 注意:哨兵模式只需要配置其监控的主节点即可,哨兵会自动发现所有与之存在主从关系的从节点slave;

【d】启动哨兵模式:

使用下面的命令启动哨兵模式:

redis-sentinel ../etc/sentinel.conf

【e】查看哨兵的日志,可见哨兵监控着6379主节点:

【f】下面我们模拟主节点发生宕机现象

观察哨兵的日志信息: 

可见,哨兵这次选举成功选举出6381作为新的主节点,然后6380作为6381的从节点服务。

【g】验证数据是否同步

 

如上图:6381主节点的数据被同步到6380从节点上。

【h】试想一下,假如之前的6379主节点又重新恢复正常了,那么它到底是master角色还是slave角色?

 

可见,之前宕机的master回来之后,哨兵监控到,旧的主节点6379变为了新的主节点6381的从节点,不会发生双主节点冲突。

【i】注意

由于所有的写操作都是先在master上操作,然后同步更新到slave上,所以从master同步到slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,slave机器数量的增加也会使这个问题更加严重。

三、总结

以上就是关于redis哨兵模式的详细配置过程,希望能对大家的学习有所帮助,文中如有不对之处,麻烦指正,相互学习,共同进步。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值