zookeeper装在我的虚拟机里,虚拟机系统是centos7.0
下面是我java原生api连接zookeeper的代码段
try{
zooKeeper =new ZooKeeper(connectString,timeout,new secondTry());
try {
new Thread().sleep(19000);
System.out.println(zooKeeper.getState());
} catch (InterruptedException e) {
e.printStackTrace();
}
}catch (IOException e){
e.printStackTrace();
if(zooKeeper!=null){
try{
zooKeeper.close();
}catch (InterruptedException e1){
e1.printStackTrace();
}
}
}
最快也要十多秒,别人都是瞬间连上,zookeeper的配置文件也配了,虚拟机的网络也设置了好多遍,没有一点点起色。
new Thread().sleep(19000); 是什么鬼。。。。。搞笑吗
你怎么判断出是很久之后才连上的呢,在 zookeeper 代码后面打印一行日志,看看什么时候执行。
new Thread().sleep(19000); 这代码定义了一个线程但是没有启动就 sleep ,没有什么用就注释掉。
严谨一些,应该是最快也要19秒
有没有查下jar版本和zk server版本是否想差太多?
我的就是这种情况,要设置20秒才能连上: jar:zookeeper-3.5.6.jar,server: zookeeper-3.4.9
后来我把jar改到zookeeper-3.4.9.jar就好了
导入的zookeeper依赖版本和使用的zookeeper版本保持一致,速度会变快