Exception in thread "main" org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /servers
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1532)
at org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1560)
at com.lzp.DistributeClient.getChildren(DistributeClient.java:42)
at com.lzp.DistributeClient.main(DistributeClient.java:26)
以上在我使用zookeeper中出现的错误,错误显示时链接丢失.
经过思考,我找到了我出现错误的地方:
出现在其中的连接字符串中,虽然我使用的Linux就是以上的主机名,并且Linux中的映射关系也对,但还是出现在了这里.
原因就是:-------------------------->我的Windows中没有进行Linux主机和ip地址的映射,链接时不知道hadoop102等是啥地址,故出现了错误.
解决方式:
1.在windows中的hosts文件中添加Linux与IP地址的映射.
或-----------
2.将链接的主机名修改为其对应的IP地址
注:原来我百度的时候也见过其他的出现此问题的解决方式,如果以上不能解决可以试试,这种方式
--------将sessionTimeout的时间调大一点,尽量大于其心跳(2000ms)的时间,也有可能解决.