我正在学习如何使用ZooKeeper (3.3.3版),并让它在Cygwin (1.7.9版)上运行。为了创建一个znode,我执行以下操作:
$ zkServer.sh start
$ zkCli.sh
[zk: localhost:2181(CONNECTED) 0] create /zoo-1 "Hello World!" null
Created /zoo-1这看起来工作得很好:
[zk: localhost:2181(CONNECTED) 1] ls /
[zoo-1, zookeeper]但是,如果我尝试使用-s标志,就会发生这种情况:
[zk: localhost:2181(CONNECTED) 2] create -s /zoo-2 "Hello World!" null
Created /zoo-20000000007
[zk: localhost:2181(CONNECTED) 3] ls /
[zoo-20000000007, zoo-1, zookeeper]不过,删除该标志可以保持名称不变:
[zk: localhost:2181(CONNECTED) 4] create -s /zoo-2 "Hello World!" null
Created /zoo-2
[zk: localhost:2181(CONNECTED) 5] ls /
[zoo-2, zoo-20000000007, zoo-1, zookeeper]为什么使用使znode持久化的-s标志也改变znode的名称?我正在遵循下面的教程http://java.dzone.com/articles/zookeeper-primer,从他的例子来看,同样的事情不会发生在他身上。
谢谢您抽时间见我!
发布于 2011-07-07 12:56:22
-s标志用于创建sequential node。dzone文章看起来有一个错误。
https://stackoverflow.com/questions/6540371
复制相似问题