日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Zookeeper常用命令行及API

發布時間:2024/7/5 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zookeeper常用命令行及API 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Zookeeper常用命令行

  1.啟動zookeeper客戶端(在啟動zookeeper集群后啟動進行調試)

    zkCli.sh  

  2.查看幫助、操作歷史

    help、history

  3.查看當前Znode的目錄

    ls /    ls2 /  (查看當前Znode的詳細信息)

  4.創建Znode

   (1)默認:create 路徑 內容

    create /Wyh 18yearsold

   (2)創建短暫的Znode  ephemeral

    create -e /dilireba beautiful

    (3)創建帶序號的Znode  sequential

    create -s /yangmi justsoso

   (4)創建短暫帶序號的Znode

    create -e -s /wyh cool

  5.查看Znode

    get /Wyh

  6.修改Znode

    set /Wyh

  7.刪除Znode

    delete /Wyh

    rmr /Wyh  =>遞歸刪除,即刪除該節點及該節點下所有子節點

  8.監聽節點

   (1)監聽節點的子節點,即監聽路徑

    ls / watch

   (2)監聽節點的內容

    get / watch

  9.查看節點狀態

    stat /Wyh

?

二、Zookeeper常用API

  1.準備工作,zookeeper的依賴:

   可以解壓其壓縮包,將lib目錄下的依賴包導入到編譯器; 

   也可以使用maven,maven配置:

<dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.10</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>compile</scope></dependency>

  2.常用方法講解:

??  (1)首先創建客戶端類ZKClient

    在類中定義全局變量連接字段connectString、連接超時sessionTimeout、客戶端類比變量zkCli;
??  (2)
初始化客戶端

    定義初始化方法init,new一個zookeeper賦值給zkCli,并設置它的變量connectString,sessionTimeout,new Watcher(),置回調監聽watcher;

???(輸出事件event的路徑、狀態、類型,并用try/catch拋出異常)
?   (3)
創建節點方法

    定義創建節點方法createZnode,調用客戶端create方法,設置路徑、編輯內容并轉化為byte類型、應答類型、節點類型,然后將路徑賦值給字符串變量path

,輸出path;
??  (4)
獲取子節點方法

???   定義方法getZnode,調用客戶端getChildren方法,設置目標路徑、是否監聽,把獲取的子節點的名稱賦值給字符串集合children,使用 for循環遍歷children集合;

?  (5)刪除節點方法

???   定義方法deleteZnode,調用delete方法,設置目標節點、版本值(-1為刪除),然后可以遍歷目標刪除節點的父節點;
?? ? (6)
修改節點方法、并查看

???   定義方法setZnode,調用setData方法,設置目標節點并轉化為byte類型、版本值(-1),調用getData方法,設置查看節點、是否監聽、狀態(new Stat()),將得到的值賦值給字節集合data,將data強轉為string類型數據進行查看。

  3.具體代碼

/*** @author: PrincessHug* @date: 2019/2/25, 13:28* @Blog: https://www.cnblogs.com/HelloBigTable/*/ public class ZKClient01 {private String connectString = "192.168.126.128:2181,192.168.126.129:2181,192.168.126.130:2181";private int senssionTimeout = 3000;private ZooKeeper zkCli = null;/*** 初始化客戶端* @ throws IOException*/@Beforepublic void unit() throws IOException {zkCli = new ZooKeeper(connectString, senssionTimeout, new Watcher() {public void process(WatchedEvent watchedEvent) {}});}/*** 創建節點* @ throws KeeperException* @ throws InterruptedException*/@Testpublic void createZnode() throws KeeperException, InterruptedException {String path = zkCli.create("/Wyh", "cool".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);System.out.println(path);}//獲取節點 @Testpublic void getZone() throws KeeperException, InterruptedException {List<String> children = zkCli.getChildren("/", true);for (String c:children){System.out.println(c);}}//刪除節點 @Testpublic void deleteZnode() throws KeeperException, InterruptedException {zkCli.delete("/baby",-1);getZone();}//修改節點 @Testpublic void setZnode() throws KeeperException, InterruptedException {zkCli.setData("/Wyh","reallycool".getBytes(),-1);byte[] data = zkCli.getData("/Wyh", true, new Stat());System.out.println(new String(data));}}

?

  

?

轉載于:https://www.cnblogs.com/HelloBigTable/p/10434153.html

總結

以上是生活随笔為你收集整理的Zookeeper常用命令行及API的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。