1. 程式人生 > >2018-07-13:02-zookeeper認識資料模型

2018-07-13:02-zookeeper認識資料模型

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就會被刪除,但是不是立刻就刪除,有個時間端來同步所有節點