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

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在线播放| 欧美老熟妇一区三区精品| 日本高清加勒比免费在线| 九九视频免费观看5| 色欧美一区二区三区在线| 国产美女直播亚洲一区色| 国产亚洲综合精品综合区| 亚洲欧美综合精品久久成人| 日韩亚洲欧洲一区二区三区| 五月婷婷六月丁香免费视频| 成人一区二区三区乱码| 国语自产精品视频在线不卡| 亚洲一区二区福利视频| 国产成人亚洲精品专区高清| 国产亚洲精品免费专线视频| 亚洲av欧美日韩国产| 欧美日韩在线精品1区2区| av免费在线观看大全| 看看永久成人免费视频| 中国吞精囗交免费视频| 91久久久久久人妻精品粉嫩| 欧美高清一区二区在线播放| 亚洲一区二区三区在线播| 欧美一级黄色免费电影| av天堂最新资源在线| 人妻免费精品久久一区| 国产精品国语对白av处女| 精品久久久噜噜噜久久| 欧美成人极品一区二区三区| 后入蜜桃臀美女在线观看| 免费看国产一级黄色大片| 亚洲天堂中文字幕麻豆| 日本av成人激情视频| 亚洲精品在线观看午夜福利| 国产精品毛片一区二区三区| 国产精品伦一区二区三级| 国产精品夜色一区二区三区不卡 | 日韩无砖区2021不卡| 天堂av日韩在线播放| 国产午夜在线影院一区二区|