Apache ZooKeeper - 节点实操常用zookeeper命令
文章目錄
- help 查看zookeeper所支持的所有命令
- 創(chuàng)建zookeeper 節(jié)點(diǎn)命令
- 創(chuàng)建持久化節(jié)點(diǎn) create
- 查看節(jié)點(diǎn) get
- 修改節(jié)點(diǎn) set
- 創(chuàng)建持久序號(hào)節(jié)點(diǎn),加參數(shù) -s
- 創(chuàng)建臨時(shí)節(jié)點(diǎn),加參數(shù) -e
- 創(chuàng)建臨時(shí)序號(hào)節(jié)點(diǎn), 加參數(shù) -s -e
- 創(chuàng)建容器節(jié)點(diǎn) -c
- 查看節(jié)點(diǎn)屬性信息 stat
- 查看節(jié)點(diǎn)狀態(tài)信息同時(shí)查看數(shù)據(jù) get -s
help 查看zookeeper所支持的所有命令
[zk: localhost:2181(CONNECTED) 1] help ZooKeeper -server host:port cmd argsaddauth scheme authclose config [-c] [-w] [-s]connect host:portcreate [-s] [-e] [-c] [-t ttl] path [data] [acl]delete [-v version] pathdeleteall pathdelquota [-n|-b] pathget [-s] [-w] pathgetAcl [-s] pathhistory listquota pathls [-s] [-w] [-R] pathls2 path [watch]printwatches on|offquit reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*]redo cmdnoremovewatches path [-c|-d|-a] [-l]rmr pathset [-s] [-v version] path datasetAcl [-s] [-v version] [-R] path aclsetquota -n|-b val pathstat [-w] pathsync path Command not found: Command not found help [zk: localhost:2181(CONNECTED) 2]創(chuàng)建zookeeper 節(jié)點(diǎn)命令
create [-s] [-e] [-c] [-t ttl] path [data] [acl]中括號(hào)為可選項(xiàng),沒(méi)有則默認(rèn)創(chuàng)建持久化節(jié)點(diǎn)
- -s: 順序節(jié)點(diǎn)
- -e: 臨時(shí)節(jié)點(diǎn)
- -c: 容器節(jié)點(diǎn)
- -t: 可以給節(jié)點(diǎn)添加過(guò)期時(shí)間,默認(rèn)禁用,需要通過(guò)系統(tǒng)參數(shù)啟用
(-Dzookeeper.extendedTypesEnabled=true, znode.container.checkIntervalMs : (Java system property only) New in 3.5.1: The time interval in milliseconds for each check of candidate container and ttl nodes. Default is “60000”.)
創(chuàng)建持久化節(jié)點(diǎn) create
持久化保存的節(jié)點(diǎn),也是默認(rèn)創(chuàng)建的
[zk: localhost:2181(CONNECTED) 1] create /artisan-persist data_xxx Created /artisan-persist查看節(jié)點(diǎn) get
[zk: localhost:2181(CONNECTED) 3] get /artisan-persist data_xxx [zk: localhost:2181(CONNECTED) 4]修改節(jié)點(diǎn) set
[zk: localhost:2181(CONNECTED) 4] set /artisan-persist data_xxx_new [zk: localhost:2181(CONNECTED) 5] [zk: localhost:2181(CONNECTED) 5] [zk: localhost:2181(CONNECTED) 5] [zk: localhost:2181(CONNECTED) 5] get /artisan-persist data_xxx_new [zk: localhost:2181(CONNECTED) 6]創(chuàng)建持久序號(hào)節(jié)點(diǎn),加參數(shù) -s
創(chuàng)建時(shí)zookeeper 會(huì)在路徑上加上序號(hào)作為后綴,。非常適合用于分布式鎖、分布式選舉等場(chǎng)景。創(chuàng)建時(shí)添加 -s 參數(shù)即可。
[zk: localhost:2181(CONNECTED) 11] create -s /artisan_seq Created /artisan_seq0000000002 [zk: localhost:2181(CONNECTED) 12] [zk: localhost:2181(CONNECTED) 12] create -s /artisan_seq Created /artisan_seq0000000003 [zk: localhost:2181(CONNECTED) 13] create -s /artisan_seq Created /artisan_seq0000000004 [zk: localhost:2181(CONNECTED) 14] create -s /artisan_seq Created /artisan_seq0000000005 [zk: localhost:2181(CONNECTED) 15] create -s /artisan_seq Created /artisan_seq0000000006 [zk: localhost:2181(CONNECTED) 16] ls -R / / /artisan-persist /artisan_seq0000000002 /artisan_seq0000000003 /artisan_seq0000000004 /artisan_seq0000000005 /artisan_seq0000000006 /zookeeper /zookeeper/config /zookeeper/quota [zk: localhost:2181(CONNECTED) 17]創(chuàng)建臨時(shí)節(jié)點(diǎn),加參數(shù) -e
臨時(shí)節(jié)點(diǎn)會(huì)在客戶(hù)端會(huì)話(huà)斷開(kāi)后自動(dòng)刪除。適用于心跳,服務(wù)發(fā)現(xiàn)等場(chǎng)景。創(chuàng)建時(shí)添加參數(shù)-e 即可。
創(chuàng)建臨時(shí)節(jié)點(diǎn), 斷開(kāi)會(huì)話(huà) 在連接將會(huì)自動(dòng)刪除
[zk: localhost:2181(CONNECTED) 17] create -e /artisan-e Created /artisan-e [zk: localhost:2181(CONNECTED) 20] ls -R /artisan-e /artisan-e [zk: localhost:2181(CONNECTED) 21]退出重連
臨時(shí)節(jié)點(diǎn)沒(méi)啦。。。。
我們結(jié)合日志來(lái)看一下
創(chuàng)建臨時(shí)序號(hào)節(jié)點(diǎn), 加參數(shù) -s -e
與持久序號(hào)節(jié)點(diǎn)類(lèi)似,不同之處在于EPHEMERAL_SEQUENTIAL是臨時(shí)的會(huì)在會(huì)話(huà)斷開(kāi)后刪除。創(chuàng)建時(shí)添加 -e -s
語(yǔ)法
[zk: localhost:2181(CONNECTED) 1] create -s -e /abc Created /abc0000000008 [zk: localhost:2181(CONNECTED) 2] create -s -e /abc Created /abc0000000009 [zk: localhost:2181(CONNECTED) 3] create -s -e /abc Created /abc0000000010 [zk: localhost:2181(CONNECTED) 4] create -s -e /abc Created /abc0000000011 [zk: localhost:2181(CONNECTED) 5] create -s -e /abc Created /abc0000000012 [zk: localhost:2181(CONNECTED) 6] ls -R / / /abc0000000008 /abc0000000009 /abc0000000010 /abc0000000011 /abc0000000012 /artisan-persist /artisan_seq0000000002 /artisan_seq0000000003 /artisan_seq0000000004 /artisan_seq0000000005 /artisan_seq0000000006 /zookeeper /zookeeper/config /zookeeper/quota [zk: localhost:2181(CONNECTED) 7]創(chuàng)建容器節(jié)點(diǎn) -c
容器節(jié)點(diǎn)主要用來(lái)容納字節(jié)點(diǎn),如果沒(méi)有給其創(chuàng)建子節(jié)點(diǎn),容器節(jié)點(diǎn)表現(xiàn)和持久化節(jié)點(diǎn)一樣,如果給容器節(jié)點(diǎn)創(chuàng)建了子節(jié)點(diǎn),后續(xù)又把子節(jié)點(diǎn)清空,容器節(jié)點(diǎn)也會(huì)被zookeeper刪除。
[zk: localhost:2181(CONNECTED) 14] create -c /artisan-c Created /artisan-c查看節(jié)點(diǎn)屬性信息 stat
[zk: localhost:2181(CONNECTED) 6] stat /artisan-persist cZxid = 0xa ctime = Mon Nov 16 23:07:37 CST 2020 mZxid = 0xb mtime = Mon Nov 16 23:08:55 CST 2020 pZxid = 0xa cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 12 numChildren = 0 [zk: localhost:2181(CONNECTED) 7]- cZxid:創(chuàng)建znode的事務(wù)ID(Zxid的值)。
- mZxid:最后修改znode的事務(wù)ID。
- pZxid:最后添加或刪除子節(jié)點(diǎn)的事務(wù)ID(子節(jié)點(diǎn)列表發(fā)生變化才會(huì)發(fā)生改變)。
- ctime:znode創(chuàng)建時(shí)間。
- mtime:znode最近修改時(shí)間。
- dataVersion:znode的當(dāng)前數(shù)據(jù)版本。
- cversion:znode的子節(jié)點(diǎn)結(jié)果集版本(一個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)增加、刪除都會(huì)影響這個(gè)版本)。
- aclVersion:表示對(duì)此znode的acl版本。
- ephemeralOwner:znode是臨時(shí)znode時(shí),表示znode所有者的 session ID。 如果znode不是臨時(shí)znode,則該字段設(shè)置為零。
- dataLength:znode數(shù)據(jù)字段的長(zhǎng)度。
- numChildren:znode的子znode的數(shù)量。
查看節(jié)點(diǎn)狀態(tài)信息同時(shí)查看數(shù)據(jù) get -s
[zk: localhost:2181(CONNECTED) 9] get -s /artisan-persist data_xxx_new cZxid = 0xa ctime = Mon Nov 16 23:07:37 CST 2020 mZxid = 0xb mtime = Mon Nov 16 23:08:55 CST 2020 pZxid = 0xa cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 12 numChildren = 0 [zk: localhost:2181(CONNECTED) 10]總結(jié)
以上是生活随笔為你收集整理的Apache ZooKeeper - 节点实操常用zookeeper命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Apache ZooKeeper - Z
- 下一篇: Apache ZooKeeper -