Zookeeper學習筆記二之基礎

2021-08-28 06:06:56 字數 829 閱讀 6385

很多用於協作的原語常常在很多應用之間共享,因此,設計乙個用於協作需求的服務的方法往往是提供原語列表,暴露出每個原語的例項化呼叫方法,並直接控制這些例項。比如我們可以說分布式鎖機制組成了乙個重要的原語,同時暴露出建立(create)獲取(acquire) 和釋放(release)三個呼叫方法,這種設計存在乙個缺陷,要麼提供乙份詳細的原語列表,要麼提供api的擴充套件,以便引入新的原語。其次,這種方式實現原語的服務使得應用喪失了靈活性。

因此,zk另闢蹊徑,不直接暴露原語,取而代之,暴露由一小部分呼叫方法組成的類似檔案系統的api,以便允許應用實現自己的原語,通常使用菜譜(recipes)來表示這些原語的實現。菜譜包括zk操作和維護乙個小型的資料節點,這些節點被稱為znode。下圖描述了乙個znode樹結構,跟節點包含4個子節點,其中3個子節點擁有下一級節點,葉子節點儲存了資料

/workers節點作為父節點,其下每個znode子節點儲存了系統中乙個可用從節點資訊,如圖,有乙個從節點foot.com:2181

/tasks節點作為父節點,其下每個znode子節點儲存了所有已經建立並等待從節點執行的任務的資訊,主-從模式的應用的客戶端在/tasks下每新增乙個znode子節點,用來表示乙個新任務,並等待任務狀態的znode節點

/assign節點作為父節點,其下每個znode子節點儲存了分配到某個從節點的乙個任務資訊,當主節點為某個從節點分配了乙個任務,就會在/assign下增加乙個子節點

針對乙個znode ,沒有資料常常表達了重要的資訊,比如在主-從模式中,主節點的znode沒有資料,表示當前還沒有選舉出主節點。

ZooKeeper學習筆記(二)

2.將解壓後的zookeeper複製出2份,將這三分分別命名 如 z1,z2,z3 ticktime 2000 initlimit 10 synclimit 5 datadir data clientport 2181 server.1 127.0.0.1 2222 2223 server.2 12...

hadoop學習筆記之zookeeper 安裝配置

zookeeper是乙個分布式的,開放原始碼的分布式應用程式協調服務,是google的chubby乙個開源的實現,是hadoop和hbase的重要元件。它是乙個為分布式應用提供一致性服務的軟體,提供的功能包括 配置維護 網域名稱服務 分布式同步 組服務等。由於工程師不能很好地使用鎖機制以及基於訊息協...

zookeeper學習筆記

zookeeper簡介 zookeeper是乙個為分布式應用程式提供高效能協調服務的工具集合,是著名的開源框架 hadoop的子專案,它可以應用在一些需要提供統一協調服務的任務中,例如命名 配置管理 同步和組服務等,而在分布式快取設計中,它被作為乙個協調分布式環境中各快取伺服器之間共享狀態資料的基礎...