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

2024-01-06

我拉着动物园管理员 http://hadoop.apache.org/zookeeper/进入一个用于并发管理的项目,我尝试的第一件事对我来说是非常明显的(使用 zkpython 绑定):

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

我回来了NoNodeException为了我的麻烦。

在反思这一点并查看文档(例如它们)之后,我一直无法找到一种方法来完成相当于mkdir -pZooKeeper 将为我创建缺少的父节点。

我是否遗漏了任何内容,或者无论我喜欢与否,我只是坚持为路径的每个部分发出单独的 create() ?


您必须为路径的每个元素发出单独的 create() 。 Zookeeper 仅内置原子操作。递归创建路径不再是原子操作。如果操作在创建一半路径元素后挂起,Zookeeper 无法知道您想要它做什么。 我不知道 python 中是否已经有 Zookeeper 辅助库。 java (zkClient) 中有一个可以让您通过多次调用 create() 创建递归路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在Zookeeper中递归创建路径吗? 的相关文章

随机推荐