java客户端测试连接zookeeper服务器
2017-05-16 17:12
1071 查看
连接下zookeeper服务器,判断是否连接成功。
下面有些额外代码,是因为不加上的话会报错,错误日志是:
Exception in thread "main" org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
网上很多都说是linux服务器没关闭防火墙,但我关闭了防火墙还是照样报错。
结果:
下面有些额外代码,是因为不加上的话会报错,错误日志是:
Exception in thread "main" org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
网上很多都说是linux服务器没关闭防火墙,但我关闭了防火墙还是照样报错。
public class SimpleZkClient { public static void waitUntilConnected(ZooKeeper testZooKeeper, CountDownLatch testLatch) { if(testZooKeeper.getState() == States.CONNECTING) { try { testLatch.await(); } catch (InterruptedException err) { System.out.println("Latch exception"); } } } static class ConnectedWatcher implements Watcher { private CountDownLatch connectedLatch; ConnectedWatcher(CountDownLatch connectedLatch) { this.connectedLatch = connectedLatch; /* CountDownLatch实例初始化时设为1即可 */ } /** * zookeeper服务集群监听到某个指定数据节点上发生的事件后,会通知监听注册者(客户端), * 然后客户端就会调用process方法,并将接收到的事件event作为参数传递给process方法 */ @Override public void process(WatchedEvent event) { if (event.getState() == KeeperState.SyncConnected) { connectedLatch.countDown(); /* ZK连接成功时,计数器由1减为0 */ } System.out.println("节点:" + event.getPath() + " 发生了事件:" + event.getType()); } } public static void main(String[] args) throws Exception { CountDownLatch sampleLatch = new CountDownLatch(1); Watcher sampleWatcher = new ConnectedWatcher (sampleLatch); /* * 创建一个zookeeper的java客户端 * 三个参数分别是: * connectString :zk服务器地址 * sessionTimeout:连接超时阈值 * watcher:监听器 */ ZooKeeper zkCli = new ZooKeeper("192.168.77.70:2181,192.168.77.80:2181", 2000, sampleWatcher); /* 只有当zkCli链接成功(状态为 SyncConnected)时,此函数调用才结束 */ waitUntilConnected(zkCli, sampleLatch); /*接下来就可以继续zkCli访问了,避免因为zkCli未连接成功时的访问出错 */ // 获取"/"节点下的子节点列表,并对"/"节点注册监听器 List<String> children = zkCli.getChildren("/", true); for (String child : children) { System.out.println(child); } zkCli.close(); } }
结果:
相关文章推荐
- Apache Zookeeper zkCli.sh命令及Java客户端连接测试
- java 网络编程 多个客户端连接服务器
- RabbitMQ学习之Java客户端连接测试(二)
- 【ZooKeeper Notes 29】 修复“ZooKeeper客户端打印当前连接的服务器地址为null”的Bug
- Java 网络编程 中的 服务器与客户端的 连接!
- RabbitMQ/JAVA 客户端连接测试
- java 模拟多个客户端与服务器建立UDP连接
- Java客户端通过HttpURLConnection连接Web服务器的Session保存问题
- ZooKeeper客户端 和服务器连接时版本问题
- java客户端连接kafka简单测试
- <JAVA>学习笔记10>——多个客户端连接服务器
- java连接zookeeper服务器出现“KeeperErrorCode = ConnectionLoss for /test”
- java实现代理服务器,接收客户端连接,发送到对应服务器
- javamail之本地测试玩mail客户端和服务器
- java网络编程----------Socket实现客户端和服务器的连接
- zookeeper客户端 和服务器连接时版本问题
- [java]RMI客户端在服务器双网卡或者多网卡情况下无法连接问题
- java网络编程基于TCP的多客户端连接服务器
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- zookeeper客户端 和服务器连接时版本问题