由于项目的需要,需要学习Python客户端连接ZooKeeper集群,并实现创建临时节点、获得指定的路径下的信息、监听子节点变化的功能。
环境配置
ZooKeeper集群的安装可以参考http://blog.csdn.net/mrbcy/article/details/54767484
使用下面的命令安装kazoo
pip install kazoo
基本使用
这一部分可参考官方文档:http://kazoo.readthedocs.io/en/latest/basic_usage.htm
监听子节点变化
下面的代码实现了创建一个临时、顺序的节点,并且可以监听子节点的变化。
#-*- coding: utf-8 -*-
import time
from kazoo.client import KazooClient
from kazoo.recipe.watchers import ChildrenWatch
class ValidatorDetector:
def __init__(self):
self.zk = KazooClient(hosts='amaster:2181,anode1:2181,anode2:2181')
self.validator_children_watcher = ChildrenWatch(client=self.zk,path='/mproxy/validators',func=