zookeeper shell客戶端命令簡介
阿新 • • 發佈:2019-02-11
- 1.客戶端連線
[root@hadoop01 soft]# ./zookeeper-3.4.5/bin/zkCli.sh
- 2.檢視所有命令
ZooKeeper -server host:port cmd args
connect host:port
get path [watch]
ls path [watch]
set path data [version]
rmr path
delquota [-n|-b] path
quit
printwatches on|off
create [-s] [-e] path data acl
stat path [watch]
close
ls2 path [watch]
history
listquota path
setAcl path acl
getAcl path
sync path
redo cmdno
addauth scheme auth
delete path [version]
setquota -n|-b val path
- 3.命令簡介
#ls 檢視
[zk: hadoop02:2181(CONNECTED) 8] ls /
[zookeeper]
#create 建立節點並存儲資料
[zk: hadoop02:2181(CONNECTED) 9] create /app1 "this is app1"
Created /app1
[zk: hadoop02:2181(CONNECTED) 10] ls /
[app1, zookeeper]
#獲取內容
[zk: hadoop02:2181(CONNECTED) 14] get /app1/server01
"192.168.80.151"
cZxid = 0x100000005
ctime = Tue Nov 15 17:22:49 EST 2016
mZxid = 0x100000005
mtime = Tue Nov 15 17:22:49 EST 2016
pZxid = 0x100000005
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 16
numChildren = 0
#quit 退出
4.znode
1)短暫節點(ephemeral) 斷開連線會被刪除 create -e
2)持久節點 (persistent) 斷開不會被刪除 create
持久帶序號 create -s
持久不帶序號 create
短暫帶序號 create -s -e
短暫不帶序號 create -e
[zk: localhost:2181(CONNECTED) 2] create /lijie/test 234
Created /lijie/test
#-s建立帶序號的節點
[zk: localhost:2181(CONNECTED) 3] create -s /lijie/test 345
Created /lijie/test0000000001
[zk: localhost:2181(CONNECTED) 4] create -s /lijie/test 345
Created /lijie/test0000000002
#-e -s, -e表示建立臨時節點,退出就沒有了
[zk: localhost:2181(CONNECTED) 5] create -e -s /lijie/test 345
Created /lijie/test0000000003
- 5.修改資料
#檢視 /lijie/test的資料 為234
[zk: localhost:2181(CONNECTED) 12] get /lijie/test
234
cZxid = 0x10000000b
ctime = Tue Nov 15 17:34:08 EST 2016
mZxid = 0x10000000b
mtime = Tue Nov 15 17:34:08 EST 2016
pZxid = 0x10000000b
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
#重新設定 /lijie/test
[zk: localhost:2181(CONNECTED) 13] set /lijie/test 66666
cZxid = 0x10000000b
ctime = Tue Nov 15 17:34:08 EST 2016
mZxid = 0x100000010
mtime = Tue Nov 15 17:46:23 EST 2016
pZxid = 0x10000000b
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0
#再此獲取 /lijie/test 為 66666
[zk: localhost:2181(CONNECTED) 14] get /lijie/test
66666
cZxid = 0x10000000b
ctime = Tue Nov 15 17:34:08 EST 2016
mZxid = 0x100000010
mtime = Tue Nov 15 17:46:23 EST 2016
pZxid = 0x10000000b
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0
- 6.監聽通知
get 一個數據的時候帶一個watch監聽
#獲取 /lijie/test的內容,並且註冊監聽
[zk: localhost:2181(CONNECTED) 15] get /lijie/test watch
66666
cZxid = 0x10000000b
ctime = Tue Nov 15 17:34:08 EST 2016
mZxid = 0x100000010
mtime = Tue Nov 15 17:46:23 EST 2016
pZxid = 0x10000000b
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0
#在另外一臺伺服器登陸zookeeper修改這個路徑的值
[zk: localhost:2181(CONNECTED) 0] set /lijie/test 99999
cZxid = 0x10000000b
ctime = Tue Nov 15 17:34:08 EST 2016
mZxid = 0x100000012
mtime = Tue Nov 15 17:51:30 EST 2016
pZxid = 0x10000000b
cversion = 0
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0
#之前那個監聽響應
[zk: localhost:2181(CONNECTED) 16]
WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged path:/lijie/test
ls 帶監聽(子節點變化監聽)
#一臺伺服器客戶端監聽子節點
[zk: localhost:2181(CONNECTED) 1] ls /lijie/test watch
#另外一臺在該節點新增一個子節點
[zk: localhost:2181(CONNECTED) 16] create /lijie/test/tt 888888
Created /lijie/test/tt
#監聽的客戶端發生響應
[zk: localhost:2181(CONNECTED) 2]
WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/lijie/test