使用zookeeper-shell.sh验证Zookeeper中是否存在路径(znode)

时间:2019-06-03 12:59:46

标签: apache-zookeeper

我需要一些帮助,以使用zookeeper-shell.sh验证Zookeeper中的znode(path)是否存在

示例:TypeDescriptor.GetConverter(dataType).ConvertFromString(paramValue) 这里bin/zookeeper-shell.sh zk:9091 ls /brokers/idss在动物园管理员中不存在,它引发消息  /brokers/idss

我想在if条件中使用它并继续进行逻辑处理。

任何帮助将不胜感激吗?

1 个答案:

答案 0 :(得分:0)

从ZooKeeper 3.4.7及更高版本开始,zkCli支持命令处理。 因此,您可以发出如下命令来检查znode是否存在:

zkCli.sh -server host:port get /test/path  

这是一个bash命令,其返回值可以在if条件下使用。 如果发生错误(KeeperError异常,可以在here中找到相关的错误代码),则将返回非零值。如果该节点存在并且您可以对其进行读取访问,则返回0。