Java原生api连接zookeeper特别慢,求问什么原因

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版本保持一致,速度会变快