springboot集成阿里雲redis集群踩坑


springboot繼承redis集群踩坑

Exception in thread "main" redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException: No more cluster attempts left.
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:86)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:124)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:124)
at redis.clients.jedis.JedisClusterCommand.run(JedisClusterCommand.java:25)
at redis.clients.jedis.JedisCluster.set(JedisCluster.java:112)
at com.concurrent.test.TestCluster.main(TestCluster.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

 

在本地鏈接本地redis集群沒有問題,可是鏈接阿里雲的集群的時候缺一直連不上 原來問題在這里:

1、redis.conf里面的”bind IP地址“是限制訪問IP的,需要注銷

2、使用ruby命令開啟集群使用的是公網IP,如下:
ruby redis-trib.rb  create --replicas 1 公網IP:6379 公網IP:6380公網IP:6381公網IP:6382公網IP:6383公網IP:6384

3、也是最重要的一點,如果執行2步驟一直在“Waiting for the cluster to join....”,那肯定是你端口沒有開啟,不要質疑,這里的端口
不是7000-7005,而是17000-17005,因為redis設置集群的端口號是”redis端口+10000“,這個非常重要。

 

 打開阿里雲對應的端口安全組,並關閉iptables  或者將端口逐個加入;

這樣之后由於不知道網絡問題還是其他問題  一直鏈接超時;過了一會兒自己就好了 mmp 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM