解決:“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測試單節點
只有在測試集羣操作的時候失敗
在這裏插入圖片描述
解決步驟:

1、redis.conf裏面的”bind IP地址“是限制訪問IP的,需要註釋掉
註釋掉bind

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

加油

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章