首先,codis集群部署在阿里云,只有一个proxy节点,通过jodis连接时报下面的错:
771 [main] INFO io.codis.jodis.RoundRobinJedisPool - Add new proxy: iZwz977ogd6jecq7rowvtsZ:19000
771 [Curator-PathChildrenCache-0] INFO io.codis.jodis.RoundRobinJedisPool - Receive child event: type=CONNECTION_RECONNECTED, no data
772 [Curator-PathChildrenCache-0] INFO io.codis.jodis.RoundRobinJedisPool - Receive child event: type=CHILD_ADDED, path=/jodis/codis-demo/proxy-420a662ef2b07ede2e7254260a1b4389, stat=7221,7221,1553854955394,1553854955394,0,0,0,72058014097211406,222,0,7221
, bytes length=222
783 [main-SendThread(120.79.200.63:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x1000061cd7c0013, packet:: clientPath:/jodis/codis-demo serverPath:/jodis/codis-demo finished:false header:: 8,12 replyHeader:: 8,7231,0 request:: '/jodis/codis-demo,T response:: v{'proxy-420a662ef2b07ede2e7254260a1b4389},s{21,21,1553743793784,1553743793784,0,5,0,0,0,1,7221}
795 [main-SendThread(120.79.200.63:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x1000061cd7c0013, packet:: clientPath:/jodis/codis-demo/proxy-420a662ef2b07ede2e7254260a1b4389 serverPath:/jodis/codis-demo/proxy-420a662ef2b07ede2e7254260a1b4389 finished:false header:: 9,4 replyHeader:: 9,7231,0 request:: '/jodis/codis-demo/proxy-420a662ef2b07ede2e7254260a1b4389,T response:: #7ba202020202261646472223a2022695a777a3937376f6764366a65637137726f777674735a3a3139303030222ca202020202261646d696e223a20223132372e302e302e313a3131303830222ca20202020227374617274223a2022323031392d30332d32392031383a32313a31382e353336303531323537202b3038303020435354206d3d2b302e303134303933333132222ca20202020227374617465223a20226f6e6c696e65222ca2020202022746f6b656e223a2022343230613636326566326230376564653265373235343236306131623433383922a7d,s{7221,7221,1553854955394,1553854955394,0,0,0,72058014097211406,222,0,7221}
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
at redis.clients.util.Pool.getResource(Pool.java:53)
at redis.clients.jedis.JedisPool.getResource(JedisPool.java:226)
at io.codis.jodis.RoundRobinJedisPool.getResource(RoundRobinJedisPool.java:218)
at com.drhu.JodisTest.main(JodisTest.java:19)
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.UnknownHostException: iZwz977ogd6jecq7rowvtsZ
at redis.clients.jedis.Connection.connect(Connection.java:207)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:93)
at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1767)
at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:106)
at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:868)
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)
at redis.clients.util.Pool.getResource(Pool.java:49)
... 3 more
Caused by: java.net.UnknownHostException: iZwz977ogd6jecq7rowvtsZ
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at redis.clients.jedis.Connection.connect(Connection.java:184)
... 10 more
这是客户端代码:
public class JodisTest {
private static final String zkAddr = "xxx.79.xxx.63:2181";
private static final int zkSessionTimeoutMs = 30000;
private static final String zkProxyDir = "/jodis/codis-demo";
public static void main(String[] args) {
BasicConfigurator.configure();
JedisResourcePool jedisPool = RoundRobinJedisPool.create()
.curatorClient(zkAddr, zkSessionTimeoutMs).zkProxyDir(zkProxyDir).build();
try (Jedis jedis = jedisPool.getResource()) {
jedis.set("foo", "bar");
String value = jedis.get("foo");
System.out.println(value);
}
}
首先,codis集群部署在阿里云,只有一个proxy节点,通过jodis连接时报下面的错: 771 [main] INFO io.codis.jodis.RoundRobinJedisPool - Add new proxy: iZwz977ogd6jecq7rowvtsZ:19000 771 [Curator-PathChildrenCache-0] INFO io.codis.jodis.RoundRobinJedisPool - Receive child event: type=CONNECTION_RECONNECTED, no data 772 [Curator-PathChildrenCache-0] INFO io.codis.jodis.RoundRobinJedisPool - Receive child event: type=CHILD_ADDED, path=/jodis/codis-demo/proxy-420a662ef2b07ede2e7254260a1b4389, stat=7221,7221,1553854955394,1553854955394,0,0,0,72058014097211406,222,0,7221 , bytes length=222 783 [main-SendThread(120.79.200.63:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x1000061cd7c0013, packet:: clientPath:/jodis/codis-demo serverPath:/jodis/codis-demo finished:false header:: 8,12 replyHeader:: 8,7231,0 request:: '/jodis/codis-demo,T response:: v{'proxy-420a662ef2b07ede2e7254260a1b4389},s{21,21,1553743793784,1553743793784,0,5,0,0,0,1,7221} 795 [main-SendThread(120.79.200.63:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x1000061cd7c0013, packet:: clientPath:/jodis/codis-demo/proxy-420a662ef2b07ede2e7254260a1b4389 serverPath:/jodis/codis-demo/proxy-420a662ef2b07ede2e7254260a1b4389 finished:false header:: 9,4 replyHeader:: 9,7231,0 request:: '/jodis/codis-demo/proxy-420a662ef2b07ede2e7254260a1b4389,T response:: #7ba202020202261646472223a2022695a777a3937376f6764366a65637137726f777674735a3a3139303030222ca202020202261646d696e223a20223132372e302e302e313a3131303830222ca20202020227374617274223a2022323031392d30332d32392031383a32313a31382e353336303531323537202b3038303020435354206d3d2b302e303134303933333132222ca20202020227374617465223a20226f6e6c696e65222ca2020202022746f6b656e223a2022343230613636326566326230376564653265373235343236306131623433383922a7d,s{7221,7221,1553854955394,1553854955394,0,0,0,72058014097211406,222,0,7221} Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at redis.clients.util.Pool.getResource(Pool.java:53) at redis.clients.jedis.JedisPool.getResource(JedisPool.java:226) at io.codis.jodis.RoundRobinJedisPool.getResource(RoundRobinJedisPool.java:218) at com.drhu.JodisTest.main(JodisTest.java:19) Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.UnknownHostException: iZwz977ogd6jecq7rowvtsZ at redis.clients.jedis.Connection.connect(Connection.java:207) at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:93) at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1767) at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:106) at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:868) at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435) at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363) at redis.clients.util.Pool.getResource(Pool.java:49) ... 3 more Caused by: java.net.UnknownHostException: iZwz977ogd6jecq7rowvtsZ at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391) at java.net.Socket.connect(Socket.java:579) at redis.clients.jedis.Connection.connect(Connection.java:184) ... 10 more
这是客户端代码: public class JodisTest {
}
zk可以连接上,但是从zk中获取到proxy节点后,报上面错,proxy服务ip端口:0.0.0.0:19000 是不是跟阿里云服务器有关呢?防火墙关了也一样