对不起,这是一个相当蹩脚的问题。我在ZK网站上搜索和搜索了很长时间,然后我终于选择在这里询问了!
当我启动ZooKeeper的zkCli.sh并输入help时,对于create命令,它说:
create [-s] [-e] path data acl
-s和-e是什么?
虽然这确实是我需要知道的,但我也喜欢知道这些信息的定义,记录和/或描述的位置,因为正如我所说,我搜索了很长时间而不是能够找到它!
感谢您的帮助!
答案 0 :(得分:5)
-s和-e选项用于指定顺序或短暂节点。
不幸的是,我不确定这是否记录在案。幸运的是,Zookeeper是开源的。我们可以继续检查真相的最佳来源 - 代码。
https://github.com/apache/zookeeper/blob/trunk/bin/zkCli.sh
shell脚本正在启动一个新的java进程 - org.apache.zookeeper.ZooKeeperMain。如果没有一些基本的Java知识,下一步可能会有点困难,但我们可以尝试一个简单的代码搜索,看看我们是否能发现一些东西:
https://github.com/apache/zookeeper/blob/trunk/src/java/main/org/apache/zookeeper/ZooKeeperMain.java
看来实际命令有自己的类:
宾果。我们可以在顶部看到选项:
options.addOption(new Option("e", false, "ephemeral"));
options.addOption(new Option("s", false, "sequential"));
让我们试着确认一下。稍后在代码中,我们可以看到所有可能的情况:
CreateMode flags = CreateMode.PERSISTENT;
if(cl.hasOption("e") && cl.hasOption("s")) {
flags = CreateMode.EPHEMERAL_SEQUENTIAL;
} else if (cl.hasOption("e")) {
flags = CreateMode.EPHEMERAL;
} else if (cl.hasOption("s")) {
flags = CreateMode.PERSISTENT_SEQUENTIAL;
}