2018-07-13:02-zookeeper認識資料模型
阿新 • • 發佈:2019-01-02
zookeeper是一個類似資料夾系統的資料結構。每一個節點稱為znode。有名字有資料,znode下面又可以繼續新增位元組點。zookeeper節點型別有四種:
PERSISTENT 持久化節點
PERSISTENT_SEQUENTIAL 順序自動編號持久化節點,這種節點會根據當前已存在的節點數自動加 1
EPHEMERAL 臨時節點, 客戶端session超時這類節點就會被自動刪除
EPHEMERAL_SEQUENTIAL 臨時自動編號節點
下面來熟悉一下常用的命令
[zk: 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183(CONNECTED) 12] help ZooKeeper -server host:port cmd args stat path [watch] #檢視節點狀態 set path data [version] #為節點重新賦值 ls path [watch] #列出節點下的所有節點 delquota [-n|-b] path ls2 path [watch] #列出節點下的所有節點並輸出當前節點的狀態 setAcl path acl setquota -n|-b val path history #檢視歷史使用過的命令 redo cmdno printwatches on|off delete path [version] #刪除節點,必須沒有子節點 sync path listquota path rmr path get path [watch] create [-s] [-e] path data acl #建立節點,-s是序列節點,-e節點是臨時節點 addauth scheme auth quit getAcl path close connect host:port
建立節點
#建立持久化節點
create /node1 hhh
#建立序列持久化節點
create -s /node1 abc
#建立序列持久化節點,節點名相同,但是會在序列號上+1
create -s /node1 123
#列出節點
[zk: 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183(CONNECTED) 28] ls /
[zookeeper, node10000000003, node1, node10000000002]
獲得節點
[zk: 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183(CONNECTED) 29] get /node1 hhh cZxid = 0x200000008 ctime = Fri Jul 13 19:26:48 CST 2018 mZxid = 0x200000008 mtime = Fri Jul 13 19:26:48 CST 2018 pZxid = 0x200000008 cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 3 numChildren = 0
建立臨時節點
[zk: 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183(CONNECTED) 2] create -e /node2 111
Created /node2
如果當前客戶端和伺服器斷開連結,在開啟一個客戶端那麼這個node2就會被刪除,但是不是立刻就刪除,有個時間端來同步所有節點