Apache ZooKeeper - 节点实操常用zookeeper命令
生活随笔
收集整理的這篇文章主要介紹了
Apache ZooKeeper - 节点实操常用zookeeper命令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- help 查看zookeeper所支持的所有命令
- 創建zookeeper 節點命令
- 創建持久化節點 create
- 查看節點 get
- 修改節點 set
- 創建持久序號節點,加參數 -s
- 創建臨時節點,加參數 -e
- 創建臨時序號節點, 加參數 -s -e
- 創建容器節點 -c
- 查看節點屬性信息 stat
- 查看節點狀態信息同時查看數據 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]創建zookeeper 節點命令
create [-s] [-e] [-c] [-t ttl] path [data] [acl]中括號為可選項,沒有則默認創建持久化節點
- -s: 順序節點
- -e: 臨時節點
- -c: 容器節點
- -t: 可以給節點添加過期時間,默認禁用,需要通過系統參數啟用
(-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”.)
創建持久化節點 create
持久化保存的節點,也是默認創建的
[zk: localhost:2181(CONNECTED) 1] create /artisan-persist data_xxx Created /artisan-persist查看節點 get
[zk: localhost:2181(CONNECTED) 3] get /artisan-persist data_xxx [zk: localhost:2181(CONNECTED) 4]修改節點 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]創建持久序號節點,加參數 -s
創建時zookeeper 會在路徑上加上序號作為后綴,。非常適合用于分布式鎖、分布式選舉等場景。創建時添加 -s 參數即可。
[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]創建臨時節點,加參數 -e
臨時節點會在客戶端會話斷開后自動刪除。適用于心跳,服務發現等場景。創建時添加參數-e 即可。
創建臨時節點, 斷開會話 在連接將會自動刪除
[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]退出重連
臨時節點沒啦。。。。
我們結合日志來看一下
創建臨時序號節點, 加參數 -s -e
與持久序號節點類似,不同之處在于EPHEMERAL_SEQUENTIAL是臨時的會在會話斷開后刪除。創建時添加 -e -s
語法
[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]創建容器節點 -c
容器節點主要用來容納字節點,如果沒有給其創建子節點,容器節點表現和持久化節點一樣,如果給容器節點創建了子節點,后續又把子節點清空,容器節點也會被zookeeper刪除。
[zk: localhost:2181(CONNECTED) 14] create -c /artisan-c Created /artisan-c查看節點屬性信息 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:創建znode的事務ID(Zxid的值)。
- mZxid:最后修改znode的事務ID。
- pZxid:最后添加或刪除子節點的事務ID(子節點列表發生變化才會發生改變)。
- ctime:znode創建時間。
- mtime:znode最近修改時間。
- dataVersion:znode的當前數據版本。
- cversion:znode的子節點結果集版本(一個節點的子節點增加、刪除都會影響這個版本)。
- aclVersion:表示對此znode的acl版本。
- ephemeralOwner:znode是臨時znode時,表示znode所有者的 session ID。 如果znode不是臨時znode,則該字段設置為零。
- dataLength:znode數據字段的長度。
- numChildren:znode的子znode的數量。
查看節點狀態信息同時查看數據 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]總結
以上是生活随笔為你收集整理的Apache ZooKeeper - 节点实操常用zookeeper命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache ZooKeeper - Z
- 下一篇: Apache ZooKeeper -