我试图从 java 连接到 JedisCluster (ElastiCache Redis)。但我收到了 JedisConnectionException,集群中没有可访问的节点。
这是我连接 JedisCluster 的代码
public static void main(String[] args) throws IOException{
final GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
poolConfig.setMaxWaitMillis(2000);
poolConfig.setMaxTotal(300);
Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
jedisClusterNode.add(new HostAndPort("mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com",6379));
jedisClusterNode.add(new HostAndPort("mycachecluster.eaogs8.0002.usw2.cache.amazonaws.com",6379));
JedisCluster jedisCluster = new JedisCluster(jedisClusterNode,poolConfig);
System.out.println("Cluster Size...." + jedisCluster.getClusterNodes().size());
try{
jedisCluster.set("foo", "bar");
jedisCluster.get("foo");
}
catch(Exception e){
e.printStackTrace();
}
finally{
jedisCluster.close();
}
}
Run Code Online (Sandbox Code Playgroud)
运行这个后我得到的异常
redis.clients.jedis.exceptions.JedisNoReachableClusterNodeException: No reachable node in cluster
at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnection(JedisSlotBasedConnectionHandler.java:57)
at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnectionFromSlot(JedisSlotBasedConnectionHandler.java:74)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:116)
at redis.clients.jedis.JedisClusterCommand.run(JedisClusterCommand.java:31)
at redis.clients.jedis.JedisCluster.set(JedisCluster.java:103)
Run Code Online (Sandbox Code Playgroud)
我检查过
telnet mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com 6379
Run Code Online (Sandbox Code Playgroud)
正如AWS Doc中提到的,我得到的答复是“已连接”。
这里有什么问题以及为什么我无法使用 java 连接到 JedisCluster?
笔记 :
我使用的是jedis版本2.9.0
更新:
在 AWS 中,传输中加密和静态加密已激活
所以
Jedis jedis = null;
try{
jedis = new Jedis(URI.create("rediss://mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com:6379"));
System.out.println(jedis.ping());
System.out.println("XXXXX: "+jedis.get("c"));
}
catch(Exception exception){
exception.printStackTrace();
}
finally{
jedis.close();
}
Run Code Online (Sandbox Code Playgroud)
工作正常。但绝地集群不是。
| 归档时间: |
|
| 查看次数: |
21213 次 |
| 最近记录: |