我們先在虛擬機上執行一下help命令:

| 命令基本語法 | 功能描述 |
| help | 顯示所有操作命令 |
| ls path [watch] | 使用ls命令來查看當前znode中所包含的內容 |
| ls -s path [watch] | 查看當前節點資訊 |
| create | 普通創建 -s 含有序列 |
| get path [watch] | 獲得節點的值 |
| set | 設定節點的具體值 |
| stat | 查看節點狀態 |
| delete | 洗掉節點 |
| rmr | 遞回洗掉節點 |
一、具體命令操作
1、啟動客戶端
zkCli.sh -server
2、顯示所有操作命令
help
3、查看當前znode中所包含的內容
ls /
結果:[zookeeper]
4、查看當前節點詳細資料
ls -s /
[zookeeper]cZxid=0x0
ctime=ThuJan0108:00:00CST1970
mZxid=0x0
mtime=ThuJan0108:00:00CST1970
pZxid=0x0
cversion=-1
dataVersion=0
aclVersion=0
ephemeralOwner=0x0
dataLength=0
numChildren=1
(1)czxid:創建節點的事務zxid
每次修改ZooKeeper狀態都會產生一個ZooKeeper事務ID,事務ID是ZooKeeper中所有修改總的次序,每次修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前發生,
(2)ctime:znode被創建的毫秒數(從1970年開始)
(3)mzxid:znode最后更新的事務zxid
(4)mtime:znode最后修改的毫秒數(從1970年開始)
(5)pZxid:znode最后更新的子節點zxid
(6)cversion:znode子節點變化號,znode子節點修改次數
(7)dataversion:znode資料變化號
(8)aclVersion:znode訪問控制串列的變化號
(9)ephemeralOwner:如果是臨時節點,這個是znode擁有者的sessionid,如果不是臨時節點則是0,
(10)dataLength:znode的資料長度
(11)numChildren:znode子節點數量
二、節點型別(znode)
首先zookeeper中的節點分為兩大類:
持久(Persistent):客戶端和服務器端斷開連接后,創建的節點不洗掉
短暫(Ephemeral):客戶端和服務器端斷開連接后,創建的節點自己洗掉
說明:創建znode時設定順序標識,znode名稱后會附加一個值,順序號是一個單調遞增的計數器,由父節點維護
注意:在分布式系統中,順序號可以被用于為所有的事件進行全域排序,這樣客戶端可以通過順序號推斷事件的順序
那么,我們就可以把節點細分為以下四種:
(1)持久化目錄節點:
客戶端與Zookeeper斷開連接后,該節點依舊存在
(2)持久化順序編號目錄節點:
客戶端與Zookeeper斷開連接后,該節點依舊存在,只是Zookeeper給該節點名稱進行順序編號
(3)臨時目錄節點:
客戶端與Zookeeper斷開連接后,該節點被洗掉
(4) 臨時順序編號目錄節點
客戶端與Zookeeper斷開連接后,該節點被洗掉,只是Zookeeper給該節點名稱進行順序編號,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/295600.html
標籤:其他
上一篇:flink sql client 連接kafka決議avro資料 (avro ArrayIndexOutOfBoundsException 解決辦法)
下一篇:21.RabbitMQ 鏡像集群
