zookeeper學習-4數據節點與zkCli客戶端命令


zookeeper結構和命令

“引用自傳智大數據視頻課程資料”

1.1. zookeeper特性

1、Zookeeper:一個leader,多個follower組成的集群

2、全局數據一致:每個server保存一份相同的數據副本,client無論連接到哪個server,數據都是一致的

3、分布式讀寫,更新請求轉發,由leader實施

4、更新請求順序進行,來自同一個client的更新請求按其發送順序依次執行

5、數據更新原子性,一次數據更新要么成功,要么失敗

6、實時性,在一定時間范圍內,client能讀到最新數據

 

1.2. zookeeper數據結構

1、層次化的目錄結構,命名符合常規文件系統規范(見下圖)

2、每個節點在zookeeper中叫做znode,並且其有一個唯一的路徑標識

3、節點Znode可以包含數據和子節點(但是EPHEMERAL類型的節點不能有子節點,下一頁詳細講解)

4、客戶端應用可以在節點上設置監視器(后續詳細講解)   

1.3. 數據結構的圖

 

1.4. 節點類型

1、Znode有兩種類型:

短暫(ephemeral)(斷開連接自己刪除)

持久(persistent)(斷開連接不刪除)

2、Znode有四種形式的目錄節點(默認是persistent )

PERSISTENT 持久

PERSISTENT_SEQUENTIAL(持久序列/test0000000019 )

EPHEMERAL 短暫

EPHEMERAL_SEQUENTIAL 短暫帶序列

3、創建znode時設置順序標識,znode名稱后會附加一個值,順序號是一個單調遞增的計數器,由父節點維護

4、在分布式系統中,順序號可以被用於為所有的事件進行全局排序,這樣客戶端可以通過順序號推斷事件的順序

1.5. zookeeper命令行操作

運行 zkCli.sh –server <ip>進入命令行工具

1、ls 

       ls命令來查看當前 ZooKeeper 中所包含的內容:

[zk: 202.115.36.251:2181(CONNECTED) 1] ls /

2、 create 

        create 命令創建了一個新的 znode 節點“ zk ”以及與它關聯的字符串:

[zk: 202.115.36.251:2181(CONNECTED) 2] create /zk "myData“

3、 get 

       get命令來獲取節點信息

[zk: 202.115.36.251:2181(CONNECTED) 3] get /zk

備注:獲取數據時加上watch監聽這個節點的變化,當另外一個客戶端改變/zk時,它會打出下面的

[zk: localhost:2181(CONNECTED) 4] get /zk watch

 

#WATCHER::

#WatchedEvent state:SyncConnected type:NodeDataChanged path:/zk

 

4、 set 

       set命令來對 zk 所關聯的字符串進行設置:

[zk: 202.115.36.251:2181(CONNECTED) 4] set /zk "zsl“

5、delete

      刪除 znode :

[zk: 202.115.36.251:2181(CONNECTED) 5] delete /zk

6、rmr

      刪除節點:

      [zk: 202.115.36.251:2181(CONNECTED) 5] rmr /zk

      備注:rmr可刪除子節點,delete不可以


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM