1

我想知道如果路径不存在,kazoo 库中是否有一种方法可以让 zookeeper 在连接字符串中创建 chroot 路径?这个事情谁有经验?我已经阅读了文档,但我还没有真正找到任何可以解决这个问题的方法。

我现在正在做的是连接到zookeeper服务器,确保路径存在,断开连接,然后重新连接路径,但这似乎不是很有效。

connection1 = '127.0.0.102:2181,127.0.0.213:2181,127.0.0.134:2181'
connection2 = '127.0.0.102:2181,127.0.0.213:2181,127.0.0.134:2181/pathtoroot'
zk = KazooClient(hosts=connection1, timeout=2.0)
zk.start()
zk.ensure_path(pathtoroot)
zk.stop()
zk = KazooClient(hosts=connection2, timeout=2.0)
zk.start()

谢谢!

4

1 回答 1

2

我想出了一种无需重新连接的方法。您必须在没有 chroot 的情况下进行连接,然后在确保路径存在后手动设置它。

connection1 = '127.0.0.102:2181,127.0.0.213:2181,127.0.0.134:2181'
zk = KazooClient(hosts=connection1, timeout=2.0)
zk.start()
zk.ensure_path(pathtoroot)
zk.chroot = pathtoroot
于 2015-09-25T15:27:29.920 回答