2015-09-24 5 views
0

Мне было интересно, есть ли способ в библиотеке kazoo для zookeeper создать путь chroot в строке соединения, если путь еще не существует? У кого-нибудь есть опыт? Я читал документы, но на самом деле я ничего не нашел для этого.Kazoo connect with 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() 

Спасибо!

ответ

1

Я понял способ сделать это, не пересоединившись. Вы должны подключиться без 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