Zookeeper系列之:监控zookeeper节点和节点数据变化
一、监控zookeeper节点变化
@zk.ChildrenWatch('/flume')
def watch_child(children):
"""监听子节点"""
print("All Children: %s" % children)
二、监控zookeeper节点数据变化
@zk.DataWatch("/flume/kafka")
def monitorNode(data,stat,event):
if(event==None):
print("data: %s" % (data.decode("utf-8")))
else:
print(event)
三、完整实现代码
from kazoo.client import KazooClient
import time
zk = KazooClient(hosts="10.129.88.5")
zk.start()
@zk.DataWatch("/flume/kafka")
def monitorNode(data,stat,event):
if(event==None):
print("data: %s" % (data.decode("utf-8")))
else:
print(event)
children_node = []
@zk.ChildrenWatch('/flume')
def watch_child(children):
"""监听子节点"""
print("All Children: %s" % children)
while True:
time.sleep(10)