5 監視和ZooKeeper操作

2021-09-07 15:45:24 字數 972 閱讀 4464

zookeeper中的寫入(write)操作是原子性和永續性的。 寫入到大多數zookeeper伺服器上的永續性儲存中,可以保證寫操作成功。 無論如何,zookeeper的最終一致性模型允許讀取(read)zookeeper服務的最新狀態,並且同步(sync)操作允許客戶端更新zookeeper服務的最新狀態。

znode中的讀取(read)操作(如existsgetchildrengetdata)允許在其上設定監視。 另一方面,由znode的寫入(write)操作觸發的監視(如createdeletesetdataacl操作)並不會有監控的參與。

以下是在znode狀態更改期間可能發生的監視事件的型別:

監視事件的型別取決於監視和觸發監視的操作。 關於三個主要操作如何產生事件的一些關鍵資訊如下表所示:

操作事件生成操作

exists

znode被建立或刪除,或其資料被更新

getchildren

znode的子節點被建立或刪除,或者znode本身被刪除

getdata

znode被刪除或其資料被更新

監視事件包括生成事件的znode的路徑。 因此,客戶端可以通過檢查znode的路徑來找到nodecreatednodedeleted事件的znode建立和刪除。 要發現nodechildrenchanged事件後哪些子節點發生了變化,必須呼叫getchildren操作來檢索新的子節點列表。 同樣,為了發現nodedatachanged事件的新資料,必須呼叫getdata方法。

zookeeper從其資料模型的角度提供了一系列的保證,並在其基礎上構建了監視底層建設,從而實現了其他分布式協調原語的簡單,快速和可擴充套件的構建:

ZooKeeper如何設定監視點

zookeeper的api中的所有讀操作 getdata getchildren和exists,均可以選擇在讀取的znode節點上設定監視點。使用監視點機制,需要實現watcher介面類,實現其中的方法如下 public void process watchedevent event watched...

Zookeeper的安裝和基本操作

一 zookeeper簡介 1 安裝環境 4 解壓。解壓到需要安裝的目錄下 解壓命令 tar zxf apache zookeeper 3.5.8.tar.gz c data 解壓之後的目錄如下,根據版本可能會有一些小的差別 5 進入conf目錄,建立乙個名為 zoo.cfg 的檔案 可複製zoo ...

zookeeper簡易操作

3 常用命令 3.1.啟動zk服務 bin zkserver.sh start 3.2.檢視zk服務狀態 bin zkserver.sh status 3.3 停止zk服務 bin zkserver.sh stop 3.4.重啟zk服務 bin zkserver.sh restart 3.5 連線伺...