我需要一些帮助,以使用zookeeper-shell.sh验证Zookeeper中的znode(path)是否存在
示例:TypeDescriptor.GetConverter(dataType).ConvertFromString(paramValue)
这里bin/zookeeper-shell.sh zk:9091 ls /brokers/idss
在动物园管理员中不存在,它引发消息
/brokers/idss
我想在if条件中使用它并继续进行逻辑处理。
任何帮助将不胜感激吗?
答案 0 :(得分:0)
从ZooKeeper 3.4.7及更高版本开始,zkCli支持命令处理。 因此,您可以发出如下命令来检查znode是否存在:
zkCli.sh -server host:port get /test/path
这是一个bash命令,其返回值可以在if条件下使用。 如果发生错误(KeeperError异常,可以在here中找到相关的错误代码),则将返回非零值。如果该节点存在并且您可以对其进行读取访问,则返回0。