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步前後的執行順序
加油