【问题标题】:Zookeeper zkCli.sh create switches documentationZookeeper zkCli.sh 创建交换机文档
【发布时间】:2015-04-19 19:31:33
【问题描述】:

抱歉,这是一个非常蹩脚的问题。我在ZK网站上google搜索了很长时间,最后还是选择在这里问!

当我启动 ZooKeeper 的 zkCli.sh 并输入帮助时,创建命令会显示:

create [-s] [-e] path data acl

-s 和 -e 是干什么用的?

虽然这确实是我需要知道的,但我也希望喜欢知道这些信息是在哪里定义、记录和/或描述的,因为正如我所说,我搜索了很长时间并没有能找到!

感谢您的帮助!

【问题讨论】:

    标签: apache-zookeeper


    【解决方案1】:

    -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

    看起来实际的命令有自己的类:

    https://github.com/apache/zookeeper/blob/trunk/src/java/main/org/apache/zookeeper/cli/CreateCommand.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;
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-17
    • 1970-01-01
    • 2016-12-14
    • 2015-09-15
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多