sentinel搭建redis集群经验总结

一、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。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java 成神之路

使用 NIO 实现 echo 服务器

4827
来自专栏张善友的专栏

Silverlight + Model-View-ViewModel (MVVM)

     早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expr...

3038
来自专栏C#

DotNet加密方式解析--非对称加密

    新年新气象,也希望新年可以挣大钱。不管今年年底会不会跟去年一样,满怀抱负却又壮志未酬。(不过没事,我已为各位卜上一卦,卦象显示各位都能挣钱...)...

4988
来自专栏魂祭心

原 canvas绘制clock

4294
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5676
来自专栏落花落雨不落叶

canvas画简单电路图

65711
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2737
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4075
来自专栏杨龙飞前端

scrollto 到指定位置

2554
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

7198

扫码关注云+社区