一:啟動拽庫的shell命令行
zkCli.sh -server localhost:2181
退出:quit
二:查詢所有的命令
help
三:查詢對應的節點
?--查詢zk上的根節點
ls /
ls /zookeeper
四:查詢對應節點的節點信息(節點的元數據)
ls2 /
五:創建節點
? ?create [-s] [-e] path data [acl]
? ?zk中的節點分為兩種:臨時節點和持久節點
-e :創建臨時節點
-s:創建順序節點
acl:代表的該節點的訪問權限控制
? ? ? ? 5.1 創建持久節點
? ? ? ? -- 創建持久非順序節點??節點名稱為node1?節點中存儲的數據為"123"
? ? ? ? create /node1 "123"?
? ? ? ? -- 創建持久順序節點 節點名稱為 /node2_ 該節點中存儲的數據為"456"
? ? ? ? create -s /node2_ "456"
順序節點的后綴會遞增
如果不是順序節點就會顯示
?
5.2 創建臨時節點
-- 創建臨時非順序節點 節點名稱為/node3——tmp 該節點中存儲的數據為"789"
create -e /node3_tmp "789"
-- 創建臨時順序節點 節點名稱為/node3——tmp 該節點中存儲的數據為"789"
create -e -s?/node3_tmp "789"
5.3在已有節點中創建子節點
-- 在已有的持久節點/node1中創建持久非順序子節點/node1/child1 該節點存儲的數據"def"
create /node1/child1 "def"
-- 在已有的持久節點/node1中創建臨時非順序子節點/node1/child2?該節點存儲的數據"def"
create -e /node1/child2_tmp?"123"
無法在臨時節點中創建子節點
六:刪除節點
--delete node_path
--刪除 /node2_0000000001
delete?/node2_0000000001
--刪除 /node1 節點
delete /node1
該命令無法執行 由于/node1下存在子節點 有字節帶你的父節點無法刪除
--遞歸刪除/node1節點
deleteall /node1
七:獲取節點中存儲的數據
-- get /node3_tmp
八:修改節點中存儲的數據
-- set node_path new_node_data [version]
set /node3_tmp "abc"
--根據當前節點信息中的dataVersion的值在修改命令中添加該版本值
set /node3_tmp "abc" 3
九:設置監聽
? ? ? ? 監聽器的有效次數為1次,如果需要繼續監聽,那就需要繼續監聽
? ? ? ? --監聽已有節點中的子節點的變化情況
? ? ? ? (1)在bigdata005上啟動zk的shell命令行,然后監聽已有節點/node1的子節點變化情況
? ? ? ? (2)在bigdata004上創建/node1/child1 節點
? ? ? ? create /node1/child1 "123"
????????
????????(3)返回bigdata005上查看監聽器的返回
???????????????????
--監聽已有節點的數據變化情況
???????(1)在bigdata005上啟動zk的shell命令行,然后監聽已有節點/node1/child1的節點數據變化情況
? ? ? ? get -w /node1/child1
? ? ? ? (2)在bigdata004上修改數據 "456"
? ? ? ? set /node1/child1 "456"
???? ?(3)返回bigdata005上查看監聽器的返回