赞
踩
jedis连接Redis集群时报错:“redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException: No more cluster attempts left”
问题产生环境:
集群搭建成功之后,进入单节点测试成功
#注意-c参数是必须的
> redis01/redis-cli -p 7001 -c
> set name redis
ok
使用jedis测试单节点的操作也成功(确保了端口开启)
只有在测试集群操作的时候失败
解决步骤:
1、redis.conf里面的”bind IP地址“是限制访问IP的,需要注释掉
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步前后的执行顺序
加油
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。