kazoo是Python連接操作ZooKeeper的客戶端庫。我們可以通過kazoo來使用ZooKeeper。
1. 安裝
pip install kazoo
2. 使用
連接ZooKeeper
from kazoo.client import KazooClient
zk = KazooClient(hosts='127.0.0.1:2181')
# 啓動連接
zk.start()
# 停止連接
zk.stop()
創建節點
# 創建節點路徑,但不能設置節點數據值
zk.ensure_path("/my/favorite")
# 創建節點,並設置節點保存數據,ephemeral表示是否是臨時節點,sequence表示是否是順序節點
zk.create("/my/favorite/node", b"a value", ephemeral=True, sequence=True)
讀取節點
# 獲取子節點列表
children = zk.get_children("/my/favorite")
# 獲取節點數據data 和節點狀態stat
data, stat = zk.get("/my/favorite")
設置監視
def my_func(event):
# 檢查最新的節點數據
# 當子節點發生變化的時候,調用my_func
children = zk.get_children("/my/favorite/node", watch=my_func)