欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

ZooKeeper常用操作API有哪些

今天就跟大家聊聊有關(guān)ZooKeeper 常用操作API有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、下陸網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城網(wǎng)站制作、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為下陸等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

ZooKeeper是一個用于分布式應(yīng)用程序的分布式開源協(xié)調(diào)服務(wù)。它使用一組簡單的操作原語,使得分布式應(yīng)用可以實現(xiàn)更高層次的服務(wù)——如同步、配置維護、群組和命名管理等。ZK具有高性能、高可用(復(fù)制)、有序等特征。

1. create

Class:org.apache.zookeeper.ZooKeeper
public String create(String path, byte[] data, List acl, CreateMode createMode) throws KeeperException, InterruptedException
public void create(String path, byte[] data, List acl, CreateMode createMode, AsyncCallback.StringCallback cb, Object ctx)
創(chuàng)建一個給定路徑(path)的節(jié)點,并給它設(shè)置數(shù)據(jù)(data)和訪問控制列表(acl)。ZooKeeper中的節(jié)點相對于文件系統(tǒng)中的目錄結(jié)構(gòu),即是”directory”又是”regular file”。第二個create方法是create的異步版本,當創(chuàng)建完成時則調(diào)用異步callback。

(1). org.apache.zookeeper.data.ACL

這部分節(jié)選說說Zookeeper中的ACL
ZooKeeper通過ACL來對ZNode進行訪問控制。ZooKeeper客戶端為znode指定ACL列表,ZooKeeper服務(wù)器根據(jù)ACL列表判定某個請求ZNode的客戶端是否有對應(yīng)操作的權(quán)限。
一個ACL對象由schema:ID和Permissions組成。
a). scheme: scheme對應(yīng)于采用哪種方案來進行權(quán)限管理,zookeeper實現(xiàn)了一個pluggable的ACL方案,可以通過擴展scheme,來擴展ACL的機制。zookeeper-3.4.4缺省支持下面幾種scheme:
world: 它下面只有一個id, 叫anyone, world:anyone代表任何人,zookeeper中對所有人有權(quán)限的結(jié)點就是屬于world:anyone的
auth: 它不需要id, 只要是通過authentication的user都有權(quán)限(zookeeper支持通過kerberos來進行authencation, 也支持username/password形式的authentication)
digest: 它對應(yīng)的id為username:BASE64(SHA1(password)),它需要先通過username:password形式的authentication
ip: 它對應(yīng)的id為客戶機的IP地址,設(shè)置的時候可以設(shè)置一個ip段,比如ip:192.168.1.0/16, 表示匹配前16個bit的IP段
super: 在這種scheme情況下,對應(yīng)的id擁有超級權(quán)限,可以做任何事情(cdrwa)
b). perm. ZooKeeper中有5種權(quán)限,從低位到高位分別是READ、WRITE、CREATE、DELETE和ADMIN,ACL的Permissions可以是5種權(quán)限中的1種或多種,它們的含義是:
* READ: 允許獲取該節(jié)點的值和列出子節(jié)點。
* WRITE: 允許設(shè)置該節(jié)點的值。
* CREATE: 允許創(chuàng)建子節(jié)點。
* DELETE: 可以刪除子節(jié)點。
* ADMIN: 允許為該節(jié)點設(shè)置權(quán)限。

(2). org.apache.zookeeper.CreateMode

org.apache.zookeeper.CreateMode可以設(shè)置znode是否為EPHEMERAL或者SEQUENTIAL。可以為下面四種值:
PERSISTENT 持久化目錄znode
PERSISTENT_SEQUENTIAL 順序自動編號的目錄znode。這個目錄節(jié)點是根據(jù)當前已存在的節(jié)點數(shù)遞增。
EPHEMERAL 臨時目錄znode,一旦創(chuàng)建這個znode的客戶端和服務(wù)器斷開,這個節(jié)點就會自動刪除。臨時節(jié)點(EPHEMERAL)不能有子節(jié)點數(shù)據(jù)
EPHEMERAL_SEQUENTIAL 臨時自動編號znode。

(3). zkCli命令

在zkCli中實現(xiàn)了create的命令封裝,可以用戶測試和數(shù)據(jù)管理:
create [-s] [-e] path data acl
其中”-s”表示創(chuàng)建一個順序自動編號的節(jié)點,”-e”表示創(chuàng)建一個臨時節(jié)點.默認為持久性節(jié)點
例如:
創(chuàng)建一個永久節(jié)點和臨時節(jié)點

create  /test null
Created /test
create -e /test0 null
Created /test0

創(chuàng)建一個順序自動編號的節(jié)點,ACL為使用digest(用戶名:test 密碼:debugo),權(quán)限為所有(rwcda)。關(guān)于digest的產(chǎn)生,可以參考zookeeper中 DigestAuthenticationProvider.generateDigest(String ipName)方法;通過向此方法指定原始的用戶名和密碼即可獲得”digest”之后的字符串,比如傳入”test:test”,將會得 到”test:V28q/NynI4JI3Rk54h0r8O5kMug=”,其內(nèi)部原理是將”密碼”部分進行MD5 + sha1操作.

create -s /test0/test null digest:test:V28q/NynI4JI3Rk54h0r8O5kMug=:rwcda
Ephemerals cannot have children: /test0/test
create -s /test/test null digest:test:V28q/NynI4JI3Rk54h0r8O5kMug=:rwcda
Created /test/test0000000000

創(chuàng)建一個節(jié)點,其ACL使用ip(172.19.17.0/24)只具有讀權(quán)限

create /test/test1 "hello world" ip:172.19.17.0/24:r
Created /test/test1

2. exist

class:org.apache.zookeeper.ZooKeeper
public Stat exists(String path, Watcher watcher) throws KeeperException, InterruptedException
返回某個path的znode是否存在。并設(shè)置是否監(jiān)控這個節(jié)點(第二個參數(shù)boolean watcher)。當?shù)诙€參數(shù)為true且這個語句執(zhí)行成功時,監(jiān)聽器(watcher)就會在成功執(zhí)行建立節(jié)點/刪除節(jié)點/修改該節(jié)點數(shù)據(jù)時候被觸發(fā)。
exists(String, Watcher)
重載方法,這里可以指定特定的監(jiān)聽器(watcher)對象。
exists(String, Watcher, AsyncCallback.StatCallback, Object)
exists(String, boolean, AsyncCallback.StatCallback, Object)
exist的異步實現(xiàn)

3. delete

public void delete(String path, int version) throws InterruptedException, KeeperException
刪除path對應(yīng)的znode,version為-1可以匹配任何版本,也就是刪除這個節(jié)點所有的數(shù)據(jù)。此外,delete同樣存在異步版本。
delete(String path, int version, AsyncCallback.VoidCallback cb, Object ctx)
delete的異步版本。
例如zkCli中刪除某個節(jié)點:

delete /test/test1

4. getChildren

public List getChildren(String path, boolean watch) throws KeeperException, InterruptedException
獲取指定path下所有的子znode,這個方法和exist一樣同樣可以設(shè)置watcher/指定特定的Watcher對象。

5. setData & getData

Stat setData(String path, byte[] data, int version)
當給定path的節(jié)點存在時給path設(shè)置數(shù)據(jù),可以指定這個數(shù)據(jù)的版本號。如果version為-1則可以匹配任意版本。
void setData(String path, byte[] data, int version, AsyncCallback.StatCallback cb, Object ctx)
setData的異步版本。
byte[] getData(String path, Watcher watcher, Stat stat)
獲取這個path對應(yīng)的znode節(jié)點的數(shù)據(jù),數(shù)據(jù)的版本等信息可以通過stat來指定。
void getData(String path, Watcher watcher, AsyncCallback.DataCallback cb, Object ctx)
getData的異步版本。

6. setACL和getACL

Stat setACL(String path, List acl, int version)
給某個znode節(jié)點重新設(shè)置訪問權(quán)限,需要注意的是ZooKeeper中的目錄節(jié)點權(quán)限都不具有傳遞性,父znode節(jié)點的權(quán)限不能傳遞給子目錄節(jié)點。在create中已經(jīng)介紹了ACL的設(shè)置方法,可以設(shè)置一系列ACL規(guī)則(即指定一系列ACL對象)。
void setACL(String path, List acl, int version, AsyncCallback.StatCallback cb, Object ctx)
setACL的異步版本
List getACL(String path, Stat stat)
返回某個znode節(jié)點的ACL對象的列表。
void getACL(String path, Stat stat, AsyncCallback.ACLCallback cb, Object ctx)
getACL的異步版本
例如zkCli中設(shè)置某個ACL規(guī)則:

[zk: localhost:2181(CONNECTED) 43] setAcl /test world:anyone:r
cZxid = 0xf000500ed
ctime = Wed Sep 24 15:13:29 CST 2014
......
[zk: localhost:2181(CONNECTED) 44] getAcl /test
'world,'anyone
: r

看完上述內(nèi)容,你們對ZooKeeper 常用操作API有哪些有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)頁標題:ZooKeeper常用操作API有哪些
網(wǎng)站網(wǎng)址:http://aaarwkj.com/article48/jjpeep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、網(wǎng)站制作、電子商務(wù)網(wǎng)頁設(shè)計公司、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
精品少妇人妻av不卡久久| 国产日产精品一区二区三区四区| 密桃精品一区二区三区在线观看| 日韩精品中文女同在线播放| 国产精品一级片一区二区| 传媒视频在线免费观看| 婷婷六月亚洲中文字幕| 丁香六月色婷婷亚洲激情| 熟女亚洲一区精品久久| 亚洲国产精品自拍视频| 国产精品国产成人免费看| 日本少妇熟女一区二区| 亚洲性视频日韩性视频| 精品毛片在线播放网站不卡| 日韩日韩毛片日韩毛片| 欧美黄色日本一区二区| 亚洲中文字幕乱码一二三| 国产成人精品福利一区二区| 日本熟妇中文字幕系列| 日本不卡二区高清三区| 日韩综合欧美激情另类| 欧美日韩国产免费电影| 亚洲欧美丝袜清纯另类| 免费看的日韩av毛片| 韩国av毛片在线播放| 亚洲黄色成人在线观看| 欧美黄片精品在线观看| 国产精品一区在线播放| 另类国产人妖免费视频网站大全| 国产黄色三级电影在线| 日韩精品视频播放一区| 欧美精品激情在线不卡| 成年视频免费观看视频| av天堂久久这里只有精品美国| 久久亚洲一区二区三区乱码| 曰本真人性做爰视频免费| 亚洲一区二区精品91眼镜| 成人性生活三级黄色片| 欧美日韩亚洲精品一区二区三区| 99在线精品热视频| 国产亚洲欧美精品久久久久|