我可以在Zookeeper中递归创建路径吗?

Nic*_*ght 4 python apache-zookeeper

我将ZooKeeper引入了一个并发管理项目,我尝试的第一件事就是对我来说非常明显(使用zkpython绑定):

zh = zookeeper.init('localhost:2181')
zookeeper.create(zh, '/path/to/a/node', '', [ZOO_OPEN_ACL_UNSAFE])
Run Code Online (Sandbox Code Playgroud)

我找回了NoNodeException麻烦.

在对此进行反思并查看文档(例如它们)之后,我一直无法找到一种方法来完成mkdir -pZooKeeper为我创建缺少的父节点的位置.

我是否遗漏了任何东西,或者我只是为了路径的每个部分发布了单独的create()s,无论我喜欢与否?

Tho*_*och 9

你不得不为路径的每个元素发出单独的create().Zookeeper只构建了原子操作.递归创建路径不再是原子操作.如果在创建一半路径元素后操作挂起,Zookeeper无法知道您想要它做什么.我不知道,如果python中已经有一个Zookeeper帮助程序库了.java(zkClient)中有一个允许您通过多次调用create()来创建递归路径.