真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

zookeepercli常用命令解析-創(chuàng)新互聯(lián)

zookeeper CLI

1,查看所有命令

啟動(dòng)zookeeper并使用bin目錄下的zkCli.sh連接zookeeper服務(wù)器,輸入任何zookeeper不能識(shí)別的命令,zookeeper都會(huì)列出所有可供使用的命令:

創(chuàng)新互聯(lián)建站主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺(jué)設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、全網(wǎng)整合營(yíng)銷推廣、網(wǎng)站程序開(kāi)發(fā)、HTML5響應(yīng)式網(wǎng)站建設(shè)、手機(jī)網(wǎng)站開(kāi)發(fā)、微商城、網(wǎng)站托管及網(wǎng)站維護(hù)公司、WEB系統(tǒng)開(kāi)發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為服務(wù)器托管行業(yè)客戶提供了網(wǎng)站推廣服務(wù)。
[zk: 127.0.0.1:2184(CONNECTED) 105] k
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
        addauth scheme auth
        quit 
        getAcl path
        close 
        connect host:port
2,命令解析

創(chuàng)建節(jié)點(diǎn):
create [-s] [-e] path data acl

-s 有序節(jié)點(diǎn)

一個(gè)znode還可以設(shè)置為有序(sequential)節(jié)點(diǎn)。一個(gè)有序znode節(jié)點(diǎn)被分配唯一個(gè)單調(diào)遞增的整數(shù)。當(dāng)創(chuàng)建有序節(jié)點(diǎn)時(shí),一個(gè)序號(hào)會(huì)被追加到路徑之后。

-e 臨時(shí)節(jié)點(diǎn)

znode節(jié)點(diǎn)可以是持久(persistent)節(jié)點(diǎn),還可以是臨時(shí)(ephemeral)節(jié)點(diǎn)。持久的znode只能通過(guò)調(diào)用delete來(lái)進(jìn)行刪除。臨時(shí)的znode與之相反,當(dāng)創(chuàng)建該節(jié)點(diǎn)的客戶端崩潰或關(guān)閉了與ZooKeeper的連接時(shí),這個(gè)節(jié)點(diǎn)就會(huì)被刪除。因?yàn)榕R時(shí)的znode在其創(chuàng)建者的會(huì)話過(guò)期時(shí)被刪除,所以我們現(xiàn)在不允許臨時(shí)節(jié)點(diǎn)擁有子節(jié)點(diǎn)。

總之,znode一共有4種類型:持久的(persistent)、臨時(shí)的(ephemeral)、持久有序的(persistent_sequential)和臨時(shí)有序的(ephemeral_sequential)。

data 節(jié)點(diǎn)保存的數(shù)據(jù)

acl 權(quán)限相關(guān)內(nèi)容,暫不考慮

創(chuàng)建一個(gè)持久節(jié)點(diǎn)

[zk: 127.0.0.1:2184(CONNECTED) 7] create /test testdata
Created /test
[zk: 127.0.0.1:2184(CONNECTED) 8] ls /
[zookeeper, test]

創(chuàng)建一個(gè)臨時(shí)節(jié)點(diǎn)

[zk: 127.0.0.1:2184(CONNECTED) 9] create -e /testephemeral testdata2
Created /testephemeral
[zk: 127.0.0.1:2184(CONNECTED) 11] ls /
[zookeeper, test, testephemeral]

ctrl+c斷開(kāi)與服務(wù)端連接在查看

WatchedEvent state:SyncConnected type:None path:null
[zk: 127.0.0.1:2184(CONNECTED) 0] ls /
[zookeeper, test]

臨時(shí)節(jié)點(diǎn)已經(jīng)被移除了

創(chuàng)建有序節(jié)點(diǎn)

[zk: 127.0.0.1:2184(CONNECTED) 4] create -s /testsquence testdata2
Created /testsquence0000000008
[zk: 127.0.0.1:2184(CONNECTED) 5] ls /
[testsquence0000000008, zookeeper, test]

它會(huì)自動(dòng)在我們指定的path后面追加一個(gè)序列號(hào)。

節(jié)點(diǎn)狀態(tài)
stat path [watch]

watch 添加監(jiān)視器,后面再說(shuō)

列出節(jié)點(diǎn)/test的狀態(tài)

[zk: 127.0.0.1:2184(CONNECTED) 10] stat /test             
cZxid = 0x21
ctime = Wed May 08 05:43:54 CST 2019
mZxid = 0x21
mtime = Wed May 08 05:43:54 CST 2019
pZxid = 0x21
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 8
numChildren = 0

屬性說(shuō)明

狀態(tài)屬性 說(shuō)明
cZxid節(jié)點(diǎn)創(chuàng)建的事務(wù)zxid。每次修改ZooKeeper狀態(tài)都會(huì)收到一個(gè)zxid形式的時(shí)間戳,也就是ZooKeeper事務(wù)ID。事務(wù)ID是ZooKeeper中所有修改總的次序。每個(gè)修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前發(fā)生。
ctimeznode的創(chuàng)建時(shí)間
mzxidznode最后修改的zxid
mtimeznode最后修改時(shí)間
pZxidznode最后更新的子節(jié)點(diǎn)zxid
cversionznode子節(jié)點(diǎn)變化號(hào),每變化一次就自增1
dataversionznode數(shù)據(jù)變化號(hào),數(shù)據(jù)每變化一次就自增1(每次更新讀取最新的值,可用于實(shí)現(xiàn)類似數(shù)據(jù)庫(kù)樂(lè)觀鎖功能)
aclVersionznode訪問(wèn)控制列表的變化號(hào)
ephemeralOwner如果是臨時(shí)節(jié)點(diǎn),這個(gè)是znode擁有者的session id。如果不是臨時(shí)節(jié)點(diǎn)則是0
dataLengthznode的數(shù)據(jù)長(zhǎng)度
dataLengthznode子節(jié)點(diǎn)數(shù)量

查詢數(shù)據(jù)
get path [watch]

查詢節(jié)點(diǎn)/test的數(shù)據(jù)

[zk: 127.0.0.1:2184(CONNECTED) 19] get /test
testdata
cZxid = 0x21
ctime = Wed May 08 05:43:54 CST 2019
mZxid = 0x21
mtime = Wed May 08 05:43:54 CST 2019
pZxid = 0x21
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 8
numChildren = 0

嗯,就是data的值加上狀態(tài)信息。

列出節(jié)點(diǎn)

ls   path [watch]
ls2 path [watch]

列出根節(jié)點(diǎn)信息

[zk: 127.0.0.1:2184(CONNECTED) 0] ls /
[testsquence0000000008, zookeeper, test]
[zk: 127.0.0.1:2184(CONNECTED) 1] ls2 /
[testsquence0000000008, zookeeper, test]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x25
cversion = 15
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 3

ls2 想當(dāng)于在ls的基礎(chǔ)上加上了當(dāng)前節(jié)點(diǎn)的狀態(tài)信息。

設(shè)置數(shù)據(jù)
set path data [version]

data 要設(shè)置的數(shù)據(jù)

version 數(shù)據(jù)版本號(hào),當(dāng)指定的版本號(hào)與節(jié)點(diǎn)當(dāng)前數(shù)據(jù)版本號(hào)相同時(shí)才設(shè)置

設(shè)置節(jié)點(diǎn)/test數(shù)據(jù)為newdata

[zk: 127.0.0.1:2184(CONNECTED) 33] set /test newdata
cZxid = 0x21
ctime = Wed May 08 05:43:54 CST 2019
mZxid = 0x28
mtime = Wed May 08 06:40:59 CST 2019
pZxid = 0x21
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0
[zk: 127.0.0.1:2184(CONNECTED) 34] get /test        
newdata
cZxid = 0x21
ctime = Wed May 08 05:43:54 CST 2019
mZxid = 0x28
mtime = Wed May 08 06:40:59 CST 2019
pZxid = 0x21
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0

有沒(méi)有發(fā)現(xiàn)dataVersion從0變成了1,這個(gè)就是和最后一個(gè)參數(shù)version關(guān)聯(lián)的。

指定一個(gè)錯(cuò)誤的version更新數(shù)據(jù)

[zk: 127.0.0.1:2184(CONNECTED) 59] set /test nnn  0
version No is not valid : /test

失敗......

我們用正確的試試

[zk: 127.0.0.1:2184(CONNECTED) 61] set /test nnn  1                                   
cZxid = 0x21
ctime = Wed May 08 05:43:54 CST 2019
mZxid = 0x2a
mtime = Wed May 08 06:46:12 CST 2019
pZxid = 0x21
cversion = 0
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0

成功了,然后dataVersion又從1變成了2

刪除節(jié)點(diǎn)

delete path [version]
rmr path

version : 版本號(hào),和set命令一樣中的意思一樣,版本相同才能刪。

delete和rmr的不同之處是在有子節(jié)點(diǎn)的情況下delete不能刪除,而rmr可以級(jí)聯(lián)刪除子節(jié)點(diǎn)。

使用delete刪除/test

[zk: 127.0.0.1:2184(CONNECTED) 73] delete /test                                
[zk: 127.0.0.1:2184(CONNECTED) 74] ls /
[testsquence0000000008, zookeeper]

使用delete刪除一個(gè)有子節(jié)點(diǎn)的試試

[zk: 127.0.0.1:2184(CONNECTED) 77] create /test tt                   
Created /test
[zk: 127.0.0.1:2184(CONNECTED) 78] create /test/child tt
Created /test/child
[zk: 127.0.0.1:2184(CONNECTED) 80] delete /test
Node not empty: /test

是的,不能刪除有子節(jié)點(diǎn)的

使用rmr刪除有子節(jié)點(diǎn)的/test試試

[zk: 127.0.0.1:2184(CONNECTED) 85] rmr /test            
[zk: 127.0.0.1:2184(CONNECTED) 86] ls /
[testsquence0000000008, zookeeper]

刪除成功

watch用法

Watch機(jī)制: 一個(gè)zk的節(jié)點(diǎn)可以被監(jiān)控,包括這個(gè)目錄中存儲(chǔ)的數(shù)據(jù)的修改,子節(jié)點(diǎn)目錄的變化,一旦變化可以通知設(shè)置監(jiān)控的客戶端,這個(gè)功能是zookeeper對(duì)于應(yīng)用最重要的特性,通過(guò)這個(gè)特性可以實(shí)現(xiàn)的功能包括配置的集中管理,集群管理,分布式鎖等等。一個(gè)Watch事件是一個(gè)一次性的觸發(fā)器,當(dāng)被設(shè)置了Watch的數(shù)據(jù)發(fā)生了改變的時(shí)候,則服務(wù)器將這個(gè)改變發(fā)送給設(shè)置了Watch的客戶端。

通過(guò)ls對(duì)節(jié)點(diǎn)/test創(chuàng)建一個(gè)watch

[zk: 127.0.0.1:2184(CONNECTED) 92] ls /test mywatch
[zk: 127.0.0.1:2184(CONNECTED) 94] delete /test

WATCHER::

WatchedEvent state:SyncConnected type:NodeDeleted path:/test

當(dāng)刪除該節(jié)點(diǎn)時(shí)我們收到了通知

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


網(wǎng)站名稱:zookeepercli常用命令解析-創(chuàng)新互聯(lián)
本文地址:http://weahome.cn/article/dggsgs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部