ZooKeeper 程式設計指南

2021-09-06 07:50:37 字數 895 閱讀 7636

本文大部分翻譯自:

引言:zookeeper主要為分布式程式提供一致性協調服務。

zookeeper資料模型:

zookeeper有乙個分層的命名空間,很像乙個分布式檔案系統。與檔案系統唯一的不同的是在系統中的每個節點可以包含資料和子節點。

znodes:en

在zookeeper樹中的每乙個節點被稱作為znode,znode維護了乙個狀態結構,其中包括資料變化的版本號,ccl變化,時間戳。每次資料改變之後,版本號就會增加。。每次客戶更新資料的時候,也必須提供原資料的版本號。如果zookeeper裡面儲存的是更新的資料,那麼這個更新就會失敗(也可以忽視這個版本強制更新)。

注意,在zookeeper中,znode是資料節點(data node),伺服器(server)指的是上面執行了zookeeper服務的機器,quorum peers指著的是組成乙個合輯(ensemble )的伺服器。客戶(client)指的是任何使用zookeeper服務的宿主或者程序。

znode是變成著主要操作的實體,它有一下幾個特性:

觀察(watches)

客戶可以在znodes上設定觀察。這個znode上面的變化會出發這個觀察。並清除這個觀察。客戶會在觀察觸發的時候得到通知。

資料儲存(data access)

每個節點有乙個訪問控制表來限制誰可以對這個節點進行讀寫。

瞬時節點(ephemeral nodes)

zookeeper有一類節點叫做瞬時節點,它的生命週期同建立它的會話(session)一樣。當乙個session結束之後,該節點就會不被自動刪除。由於這個特性,它不允許有子節點。

順序節點(sequence nodes) -- 唯一命名

建立znode的時候,你可以要求zookeeper新增乙個單調遞增的計數器在後面。可以用於queue recipe

ZooKeeper程式設計指南(四)

訪問控制 zk使用acls access control list 來控制對節點的訪問。acl實現類似於unix的檔案許可權控制 使用許可權位來 允許 禁止 對節點的各種操作和一些位的作用範圍。不像unix許可權,zk節點不受限於3個標準的範圍 使用者 owner 組,其它 world zk沒有節點...

ZooKeeper安裝指南

部署環境 虛擬機器3臺 centos 6.x 64位作業系統 伺服器ip位址分別為10.0.0.201,10.0.0.202,10.0.0.203 前提條件 在所有節點安裝jdk 埠2888用於指定follower伺服器與leader進行執行時通訊和資料同步時使用。埠3888用於進行leader選舉...

zookeeper 安裝配置指南

1 在namenode機器下,配置zookeeper,先解壓安裝包,使用命令 2.進入zookeeper的配置目錄,首先把zoo sample.cfg重新命名一下,可以重新複製一遍,使用命令 3.gedit zoo.cfg 新增如下內容 4.把zookeeper分別遠端拷貝datanode1,dat...