解决:“redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException: No more cluster attempts left”

jedis连接Redis集群时报错:“redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException: No more cluster attempts left”
问题产生环境:
集群搭建成功之后,进入单节点测试成功

#注意-c参数是必须的
> redis01/redis-cli -p 7001 -c
> set name redis
ok

使用jedis测试单节点的操作也成功(确保了端口开启)
jedis测试单节点
只有在测试集群操作的时候失败
解决:“redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException: No more cluster attempts left”_第1张图片
解决步骤:

1、redis.conf里面的”bind IP地址“是限制访问IP的,需要注释掉
解决:“redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException: No more cluster attempts left”_第2张图片

2、使用ruby命令开启集群,要使用公网IP,如下:

#注意一定不要用127.0.0.1这种本地的局域ip,要用公网ip
ruby redis-trib.rb  create --replicas 1 公网IP:7000 公网IP:7001 公网IP:7002 公网IP:7003 公网IP:7004 公网IP:7005

上面的:–replicas 1 公网IP:7000 公网IP:7001 … … 都要使用非本地的其他设备在局域网内能访问到的ip,不要使用127.0.0.1。(我的就是这里弄错了,调整这里之后解决了)

3、如果执行2步骤一直在“Waiting for the cluster to join…”,那肯定是你端口没有开启,不要质疑,这里的端口
不是7000-7005,而是17000-17005,因为redis设置集群的端口号是”redis端口+10000“,这个非常重要。

4、如果以上没有解决,需要从安装步骤上依次排查,或者是你的安装步骤中出现了遗漏,传送:Redis集群(二)集群搭建 ,特别注意第29步前后的执行顺序

加油

你可能感兴趣的:(Redis,redis,cluster)