昨天下午3-4点开始一直到夜里12点半,在加上今天上午的两个半小时算是勉强搞定了。真闹心啊
首先我用的是oracle oci(云端的计算实例)搭建了一个三台机器(3主,3从,每一对主从在一台机器)的redis cluster 集群,redis版本是最新的5…0.7

接下来我描述一下问题的细节
三台机器A(port: 7001,7002)B(port: 7003,7004), C(port: 7005,7006),在云端要把security list对应的端口7000-7006,17000-17006(redis集群后台通信用,)打开。
集群创建完毕后,显示成功。

因为我想在本地测试,所以需要外网访问redis集群

此处为止注意点
1 redis 配置文件中 把bind取消,然后把保护模式关闭

2 创建集群的时候用外网ip
redis-cli --cluster create 外网Ip:7001 外网Ip:7002 外网Ip:7003 外网Ip:7004 外网Ip:7005

外网Ip:7006 --cluster-replicas
上面是从网上查到的,照做肯定没问题,如果不做的话是否可以我没试过(太累了,不试验了)
奇怪的问题发生了,我在jedis中连接的时候一直报错 No more cluster attempts left

Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
jedisClusterNodes.add(new HostAndPort("外网ip", Integer.valueOf(7006)));
jedisClusterNodes.add(new HostAndPort("外网ip", Integer.valueOf(7002)));
jedisClusterNodes.add(new HostAndPort("外网ip", Integer.valueOf(7004)));
jedisClusterNodes.add(new HostAndPort("外网ip", Integer.valueOf(7005)));
jedisClusterNodes.add(new HostAndPort("外网ip", Integer.valueOf(7001)));
jedisClusterNodes.add(new HostAndPort("外网ip", Integer.valueOf(7003)));JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes, 10000);
jedisCluster.set("abcde","1123");
return jedisCluster.get("abcde");

换了几次jedis驱动3.1和3.2就是 No more cluster attempts left
这个错误,网上也找不到对策,换了2.9的驱动就是time out。后来反复各种调试,无意中发现是7005(master)
连不上,只要在jedis中剔除掉7005 就可以了
继续调试,把7005停掉,它对应的slave7002(在另一台机器上)变成了新的master,在启动7005,7005变成了slave,然后一切都正常了,7005也能连上了。好神奇
继续调查,把7001(也是一台master)的reds配置文件和7005对比,发现除了端口号不同,完全一致。其实当时做集群的时候都是按照7001改的,最后无奈又复制了一份7001的配置文件到7005那台机器。
把端口号改成7000,停掉7005,把7000加入集群,作为7002的slave。一切正常了,停掉7002,7000变成了master。依然正常。
实在是找不到原因了,暂时先记录下 最后我有两点疑问 1 我不知道这个问题是不是和外网访问redis 有关
(等有时间的时候把代码考到云上去运行下试试)
2 当然redis一般来说肯定是内网访问,但是如果像我这样搭建redis
cluster,是不是redis集群间的通信全是走外网?那速度岂不是很慢了,而且会浪费很多带宽流量

外网访问redis cluster的大坑相关推荐

  1. ubuntu, debian 安装redis,设置开机自动启动和密码,允许外网访问

    文章目录 ubuntu, debian 安装redis,设置开机自动启动和密码,允许外网访问 通过Python3连接redis ubuntu, debian 安装redis,设置开机自动启动和密码,允 ...

  2. debian,ubuntu 安装mongodb 允许外网访问,修改端口,设置用户和密码

    使用apt安装mongodb: apt update && apt install mongodb 查看运行状态: systemctl status mongodb.service 结 ...

  3. 关于腾讯云redis 无法外网访问的解决方案

    关于腾讯云redis 无法外网访问的解决方案 参考文章: (1)关于腾讯云redis 无法外网访问的解决方案 (2)https://www.cnblogs.com/gu-bin/p/12164466. ...

  4. 阿里云Redis 外网访问

    阿里云Redis 外网访问 首先完全组 开放6379端口 修改 /usr/local/redis/bin/rconfig/redis.conf 文件(根据自己保存位置) vim redis.conf ...

  5. CentOS 7 上安装 Redis3.2.3 并开启外网访问

    >>> CentOS 7 上安装 redis3.2.3安装与配置 前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自身集群的功能. 而现在最新的 ...

  6. 阿里云服务器配置外网访问

    阿里云服务器默认是没有配置外网访问的,默认只开启了CMP协议.SSH 22端口.RDP 3389端口三个端口 如果配置外网访问,需要配置安全组,去开放访问网站的80端口.具体如下: 点击配置规则 点击 ...

  7. 阿里云安全组规则配置及Tomcat外网访问

    阿里云服务器我是免费抢的,学习用~ 操作步骤 登录 云服务器管理控制台. 单击左侧导航中的 安全组. 选择地域. 找到要授权规则的安全组,单击 配置规则. 单击 添加安全组规则. 在弹出的对话框中,设 ...

  8. 外网网络唤醒/外网访问以及NAS常用套件

    原先有的:公网IP,光猫改为桥接,ddns 由于电脑没有机箱所以每次开机都得短接开机 很麻烦 于是很懒的我就折腾了这些 1.WOL(wake on lan)网络唤醒 实现功能:通过网络开机 (后面还有 ...

  9. 解决Elasticsearch外网访问的问题(楼主亲测)

    以前我将Elasticsearch安装在自己的机器上,但是每天开关机比较麻烦. 后来买了一台云服务器. 一.外网访问问题 默认情况下,是不支持外网访问,如果你的Elasticsearch安装在其他机器 ...

最新文章

  1. python描述器 触发事件_Python面向对象 - 描述器
  2. How to Delete and Recreate the _msdcs DNS zone on a Windows DNS Server
  3. 用NanoPi neo制作网络音箱了解一下?
  4. Javag工程师成神之路(2019正式版)
  5. 清单文件中android support,Android FileProvider 配置
  6. python3.7 ‘utf-8‘ codec can‘t decode byte 0xbe in position 0: invalid start byte
  7. SFB 项目经验-14-为某客户用Exchange 2016 UM作为总机的问题
  8. vue源码分析:渲染篇
  9. 【debug】moduleNotFoundError:No module named 'exceptions'
  10. 【java基础知识】JDK环境下载安装过程(windows环境/Linux环境)+IDEA配置
  11. 【转】POSIX 是什么?让我们听听 Richard Stallman 的诠释 | Linux 中国
  12. vfp 修改本机时间_借助novapdfPro 将VFP报表无感生成PDF文件
  13. 广外大全国计算机,广外全国计算机等级考试考生人数再创新高
  14. 怎么删除用户_误删的手机照片怎么恢复?三种快速恢复的方法
  15. dos2unix,unix2dos
  16. 量子纠缠2——CHSH不等式
  17. python3 下载网络图片
  18. python大家都是怎么学的_你们都是怎么学 Python 的?
  19. Linux网络收发包流程
  20. NI VISION视觉安装

热门文章

  1. excel操作word,替换文本
  2. 微博评论数据爬取以及分析
  3. android bmp合成mpeg4,FFmpeg 图片合成视频
  4. 4.24 使用计算命令制作图像合成艺术效果 [原创Ps教程]
  5. 项目管理工具三、目标管理的SMART原则
  6. 免费电子书下载 网站(11个)
  7. Redis第二讲【Redis基本命令和五大数据结构】
  8. 华龙进城 一家河北农村草根起家的企业发展史(图)
  9. 地球引擎中级教程——基本监督分类(含练习)
  10. PAT乙级|C语言|1032 挖掘机技术哪家强 (20分)