一、前提
開啟zookeeper服務端,用客戶端連接。輸入help,查看可使用命令,如下圖所示:

操作無非就是增刪改查等。
二、增加
格式:create [-s] [-e] path data acl
path:即路徑,由於zookeeper是一個樹形結構,所以創建的時候就是一個Path節點,就是路徑
data:節點對應的值,保存的少量數據
[-s]有序節點 [-e]臨時節點
注:節點臨時有序節點、臨時節點、持久有序節點 和 持久節點。
1. 創建節點
eg:create /node_1 1

2.創建有序的持久化節點
eg:create -s /node_1/node_1_1 2
3.創建臨時節點(基於會話級別)
eg:create -e /node_1/node_1_2 3
三、查詢
get path [watch]
eg:get /node_1

四、修改
set path data [version]
eg: set /node_1 abc

五、刪除
delete path [vsersion]
eg:delete /node_1
發現報:Node not empty:/node_1,說明node_1下面存在節點,不可以刪除。
所以,刪除其中一個子節點:
delete /node_1/node_1_1

查看node_1 下面的節點:
ls /node_1
六、查看
ls 和 ls2 和 stat
ls /node_1
ls2 /node_1
stat /node_1
ls2和stat命令輸出的信息更加詳細,結果一樣。
七、給節點設置限制
setquota -n|-b val path
-n的時候,val表示創建的子節點數量,path為指定的節點
-b的時候,val表示創建節點的數據量,path為指定的節點
1.首先查看/node_1下子節點的數量,使用 : ls /node_1,發現/node_1下面有兩個子節點:

2.這里我們設置/node_1下面允許有3個子節點
setquota -n 3 /node_1

3.我們繼續添加一個子節點
create /node_1/node_1_1 aaa

查看/node_1下面的節點數,有3個,正確的。
4.再繼續添加一個子節點
create /node_1/node_1_4 bbb

發現也是可以創建的,雖然設置了限制,但是仍然是可以創建成功。同時,會bin/zookeeper.out 輸出警告信息。這個時候我們看下日志,
命令: tail -f zookeeper.out。
八、給節點刪除限制(很少用到)
delquota [-n|-b] path
eg: delquota -n /node_1 ,使用這個就刪除了剛剛在node_1上加上的限制
通過get /node_1/node_1_4,可以看到 count=-1,則說明沒有限制

九、查看事務日志
退出客戶端,進入到 cd /usr/java/zookeeper/server3/data/log/version-2,查看事務日志:
java -cp ../../../zookeeper-3.4.9/zookeeper-3.4.9.jar:../../../zookeeper-3.4.9/lib/slf4j-api-1.6.1.jar org.apache.zookeeper.server.LogFormatter log.200000001
