sentinel搭建redis集群经验总结

原创 2016年09月13日 16:07:18
一、protected-mode
默认情况下,redis node和sentinel的protected-mode都是yes,在搭建集群时,若想从远程连接redis集群,需要将redis node和sentinel的protected-mode修改为no,若只修改redis node,从远程连接sentinel后,依然是无法正常使用的,且sentinel的配置文件中没有protected-mode配置项,需要手工添加。依据redis文档的说明,若protected-mode设置为no后,需要增加密码验证或是IP限制等保护机制,否则是极度危险的。
二、sentinel提供的master ip
sentinel保存着所有可用node的IP,jedis pool通过sentinel来获取redis的可用master ip来创建连接池连接,这里有一个很坑的地方,若sentinel和redis node部署在同一台服务器,sentinel监控的master ip不能写成127.0.0.1,需要写成真实IP。sentinel在对外管理MASTER IP时,只是简单的将配置文件中的IP保存,而不会在对外提供服务时,动态转换为127.0.0.1所在机器的真实IP。
三、sentinel不共享配置
每一个sentinel结点,各自保存自己的配置信息,这在搭建集群时,容易出现某一个sentinel结点配置和其它不一致而导致的诡异系统问题。jedis pool在连接到sentinel列表后,会从第一个可用的sentinel结点获取redis集群的信息,来构建pool,这样就可能会导致构建异常。
四、集群状态
ODOWNODOWN是sentinel认为整个集群不可用。有一种情况导致的ODOWN是由于配置不当导致,而非真的集群不可用。sentienl会根据配置文件中的master IP和端口来获取整个集群的初始状态(包括MASTER结点是否可用,以及所有SLAVE结点的状态),若此时sentienl中的master配置和集群状态中的真正master不匹配时,sentinel就认为集群不可用。集群在master挂掉后,sentinel会进行failover处理 ,若failover后,很不幸所有sentinel都挂了,再重启后的sentinel就会因为找不到master,而认为集群ODOWN。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Raft系列文章之三:Raft RPC详解

上一篇文章提到, Raft核心部分只需要用到2个RPC: RequestVote和AppendEntries, 本文将介绍这两个RPC的格式和作用。 RequestVote RPC是由candidat...
  • chicm
  • chicm
  • 2014年12月13日 13:10
  • 1377

Golang编程经验

 Golang编程经验 如何选择web框架: 首先Golang语言开发web项目不一定非要框架,本身已经提供了Web开发需要的一切必要技术。当然如果想要ruby里面Rail那种高层次全栈...

redis-sentinel集群及双机热备

  • 2015年03月17日 11:26
  • 2.75MB
  • 下载

redis主从集群搭建及容灾部署(哨兵sentinel)

http://www.cnblogs.com/linuxbug/p/5131504.html Redis也用了一段时间了,记录一下相关集群搭建及配置详解,方便后续使用查阅。 提纲 l  Re...

sentinel搭建redis集群的注意事项

一、protected-mode 默认情况下,redis node和sentinel的protected-mode都是yes,在搭建集群时,若想从远程连接redis集群,需要将redis node和...
  • tianyaZ
  • tianyaZ
  • 2016年06月12日 16:32
  • 2608

搭建redis-sentinel(哨兵机制)集群

简单介绍下Redis-sentinel: Redis-sentinel是Redis实例的监控管理、通知和实例失效备援服务,是Redis集群的管理工具。在一般的分布式中心节点数据库中,Redis-sen...
  • ownfire
  • ownfire
  • 2016年05月31日 18:12
  • 12340

【胖鱼头】基于Sentinel的Redis主从分片集群搭建

Redis架构 如上图,每组Redis实例采用1主2从实现高可用,通过3组集群做分片实现负载均衡,部署3个Sentinel实例对每个Redis节点做监控。 Redis部署方案 使用三台服务器(开发环...
  • yjg5
  • yjg5
  • 2016年03月11日 16:24
  • 182

linux下redis的集群搭建,节点的增加和删除,sentinel主从切换

redis 3.0以上支持集群,由于集群需要ruby支持,需要先安装ruby环境并下载通信管理包 ruby环境安装 ruby处理好后,开始模拟集群的搭建 1、新建cluster文件夹,并在里面再...

基于Sentinel(哨兵)搭建实现Redis高可用集群

概述 Redis哨兵为Redis提供了高可用性。实际上这意味着你可以使用哨兵模式创建一个可以不用人为干预而应对各种故障的Redis部署。 哨兵模式还提供了其他的附加功能,如监控,通知,为客户端提供...

Redis、Sentinel集群环境搭建

一:安装redis1:到redis官网下载最新版的源码。2:linux下新建目录。mkdir /usr/local/redis3:将下载的tar.gz文件上传到该目录。在该目录下解压文件:tar xz...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sentinel搭建redis集群经验总结
举报原因:
原因补充:

(最多只允许输入30个字)