1. 异常信息: All sentinels down, cannot determine where is mymaster master is running...

通过测试:

   @Test
public void testSentinel(){
HashSet<String> sentinels = new HashSet<>();
sentinels.add("192.168.72.129:26379");
JedisSentinelPool pool = new JedisSentinelPool("mymaster", sentinels);
Jedis jedis = pool.getResource();
jedis.set("hello", "world");
System.out.println(jedis.get("hello"));
}

报出错误:

警告: Cannot get master address from sentinel running @ 192.168.72.129:26379. 
Reason: redis.clients.jedis.exceptions.JedisConnectionException:
Failed connecting to host 192.168.72.129:26379. Trying next one.
redis.clients.jedis.exceptions.JedisConnectionException:
All sentinels down, cannot determine where is mymaster master is running...
(哨兵宕机, 不能确定主机位置)

还原报错现场:

  学习搭配redis过程中, 在linux虚拟机上配置完redis-sentinel( 即启用redis哨兵配置搭建1主2从的redis服务器 )

  开启了redis-sentinel服务, ip和port号为: 192.168.72.129:26379

  首先, 能确定的是, linux防火墙已然关闭, sentinel.conf 的配置中, (注释掉bind)开放了不同主机的访问, 同时, redis的保护模式也已经关闭!!!

但是jedis连接还是出现了问题, 那么既然不是redis服务器方配置或者防护的问题, 那么问题只能出在了我的操作系统win7中!!!

  在此基础上猜测, 是否是ip 连接 或者 是端口未开放呢?

  于是通过以下操作:

  cmd ->

  telnet 192.168.72.129:26379

  显示错误: 正在连接192.168.72.129:26379...无法打开到主机的连接。 在端口 23: 连接失败

 ------- 附win7中开启telnet的方法: 站内他人博文链接:https://www.cnblogs.com/ylcms/p/7250129.html, 博主:云龙笔记

  看样子应该是linux的端口未开放导致无法连接.

  继续, 查看linux服务端:

  通过 netstat 查看与26379相关的端口信息, 查询到:

  怎么回事? 端口好好地, 已经被redis服务监听了!!!

  哎, 这时脑袋升起一丝不详的感觉, 难道是我的主从redis都没有启动, 而我直接加载了哨兵的配置吗?

 

  哇的一声哭了出来, 忙活了这么久, 居然是我并没有启动主从机. 导致了这一系列bug!!!!

  开启, 然后跑一下测试类, 再看看结果, 如下

  

  连接正常...

  虽然导致bug的问题如此"脑残", 不过从这过程之中, 我也对redis的分片, 乃至哨兵有了一个全面的认识, 算是祸福相依啦. 如果你也有连接redis的错误, 不妨跟我的思路来思考, 相信不难解决!

---记录2019年7月29日12:31:11

最新文章

  1. yii 验证问题
  2. Android分享一款漂亮的折叠书架菜单
  3. 面向移动设备的html5开发框架
  4. Octave安装和使用
  5. css实现省略号
  6. Struts2应用流程注解
  7. Linux的sleep()和usleep()的使用和区别
  8. 未能加载文件或程序集&ldquo;App_global.asax&rdquo;或它的某一个依赖项
  9. ng表单验证,提交以后才显示错误
  10. [置顶] 关于redhat系统yum源的配置2
  11. MongoDB查询命令具体解释
  12. ASP.NET MVC5 插件机制中插件的简单实现
  13. 3 MySQL SQL基础
  14. JS基础——循环很重要
  15. 工厂模式(Factory Method)
  16. Leetcode_144_Binary Tree Preorder Traversal
  17. idea 连接redis 出现 Caused by: java.net.SocketTimeoutException: connect timed out
  18. python 发送邮件模板
  19. 微信小程序scroll-view 横向和纵向scroll-view组件
  20. apache分割数组和集合的分法

热门文章

  1. Linux命令之tree(目录树结构)
  2. [六省联考2017]分手是祝愿——期望DP
  3. hdu4786 Fibonacci Tree[最小生成树]【结论题】
  4. HDU 6061 - RXD and functions | 2017 Multi-University Training Contest 3
  5. 删除3天前创建的以log结尾的文件
  6. 【leetcode】1295. Find Numbers with Even Number of Digits
  7. 2、创建MFC应用程序——基于对话框,时间计时器
  8. Luogu P2324 [SCOI2005]骑士精神 搜索
  9. use potato
  10. 配置魔药(DP)