赞
踩
今天安装了CentOS虚拟机,然后写了一个Zookeeper测试程序,这个测试程序连接到运行在本机的Zookeeper服务能够正常运行。
但是当连接到远端的CentOS虚拟机上的Zookeeper服务之后,出现了下面异常:
Exception in thread "main" org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /test
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1501)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1529)
at com.jiq.test.ZooKeeperTest.main(ZooKeeperTest.java:12)
不用虚拟机,使用真实服务器也一样有这个异常,换成Windows server 2008服务器也有这个异常,看起来好像访问本机Zookeeper服务就可以,但是访问远端就不行。
上网一查,全是说什么到Zookeeper服务的连接未完成,说是加下面这段代码就好了:
- private CountDownLatch connectedSemaphore = new CountDownLatch( 1 );
-
- /**
- * 创建ZK连接
- * @param connectString ZK服务器地址列表
- * @param sessionTimeout Session超时时间
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。