額,這東西都快把人搞崩潰了,各種排查各種正常。
最后竟然是因為我在客戶端未連接上zkserver的時候就進行了create操作造成的錯誤。
噗,
Exception in thread "main" org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /servers/server at org.apache.zookeeper.KeeperException.create(KeeperException.java:99) at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:778) at com.example.test.zk.DistributeServer.registerServer(DistributeServer.java:44) at com.example.test.zk.DistributeServer.main(DistributeServer.java:66)
上面這樣的錯誤,在我隨便加了一個sleep操作,之后就正常了。
如下:
// Thread.sleep(10000); String create = zk.create(parentNode + "/server", hostname.getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL); System.out.println(hostname + "is online.." + create);
哎, 賊耽誤工夫。
