Zookeeper自探(四)—Zookeeper實戰


Zookeeper自探

自己的話:每天都要保持前進,我勢必要有強勁的實力再跟全新的自己問好。
多認識更加優秀的人,你會討厭現在的自己。

Zookeeper實戰


一、分佈式安裝部署

詳見Zookeeper自探(二)—Zookeeper安裝


二、客戶端命令行操作

在這裏插入圖片描述

1.啓動客戶端

[hadoop1 zookeeper-3.4.10]$ bin/zkCli.sh

2.顯示所有操作命令

[zk: localhost:2181(CONNECTED) 1] help

3.查看當前 znode 中所包含的內容

[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]

4.查看當前節點詳細數據

[zk: localhost:2181(CONNECTED) 1] ls2 /
[zookeeper]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1

5.分別創建 2 個普通節點

[zk: localhost:2181(CONNECTED) 3] create /sanguo "jinlian"
Created /sanguo

[zk: localhost:2181(CONNECTED) 4] create /sanguo/shuguo 
"liubei"
Created /sanguo/shuguo

6.獲得節點的值

[zk: localhost:2181(CONNECTED) 5] get /sanguo
jinlian
cZxid = 0x100000003
ctime = Wed Aug 29 00:03:23 CST 2018
mZxid = 0x100000003
mtime = Wed Aug 29 00:03:23 CST 2018
pZxid = 0x100000004
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 1

[zk: localhost:2181(CONNECTED) 6]
[zk: localhost:2181(CONNECTED) 6] get /sanguo/shuguo
liubei
cZxid = 0x100000004
ctime = Wed Aug 29 00:04:35 CST 2018
mZxid = 0x100000004
mtime = Wed Aug 29 00:04:35 CST 2018
pZxid = 0x100000004
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0

7.創建短暫節點

[zk: localhost:2181(CONNECTED) 7] create -e /sanguo/wuguo 
"zhouyu"
Created /sanguo/wuguo

(1)在當前客戶端是能查看到的

[zk: localhost:2181(CONNECTED) 3] ls /sanguo 
[wuguo, shuguo]

(2)退出當前客戶端然後再重啓客戶端

[zk: localhost:2181(CONNECTED) 12] quit
[@hadoop3 zookeeper-3.4.10]$ bin/zkCli.sh

(3)再次查看根目錄下短暫節點已經刪除

[zk: localhost:2181(CONNECTED) 0] ls /sanguo
[shuguo]

8.創建帶序號的節點
(1)先創建一個普通的根節點/sanguo/weiguo

[zk: localhost:2181(CONNECTED) 1] create /sanguo/weiguo 
"caocao"
Created /sanguo/weiguo

(2)創建帶序號的節點

[zk: localhost:2181(CONNECTED) 2] create -s 
/sanguo/weiguo/xiaoqiao "jinlian"
Created /sanguo/weiguo/xiaoqiao0000000000

[zk: localhost:2181(CONNECTED) 3] create -s 
/sanguo/weiguo/daqiao "jinlian"
Created /sanguo/weiguo/daqiao0000000001

[zk: localhost:2181(CONNECTED) 4] create -s 
/sanguo/weiguo/diaocan "jinlian"
Created /sanguo/weiguo/diaocan0000000002

如果原來沒有序號節點,序號從 0 開始依次遞增。如果原節點下已有 2 個節點,則再
排序時從 2 開始,以此類推。
9.修改節點數據值

[zk: localhost:2181(CONNECTED) 6] set /sanguo/weiguo "simayi"

10.節點的值變化監聽
(1)在 hadoop104 主機上註冊監聽/sanguo 節點數據變化

[zk: localhost:2181(CONNECTED) 26] [zk: 
localhost:2181(CONNECTED) 8] get /sanguo watch

(2)在 hadoop103 主機上修改/sanguo 節點的數據

[zk: localhost:2181(CONNECTED) 1] set /sanguo "xisi"

(3)觀察 hadoop104 主機收到數據變化的監聽

WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged 
path:/sanguo

11.節點的子節點變化監聽(路徑變化)
(1)在 hadoop104 主機上註冊監聽/sanguo 節點的子節點變化

[zk: localhost:2181(CONNECTED) 1] ls /sanguo watch
[aa0000000001, server101]

(2)在 hadoop103 主機/sanguo 節點上創建子節點

[zk: localhost:2181(CONNECTED) 2] create /sanguo/jin "simayi"
Created /sanguo/jin

(3)觀察 hadoop104 主機收到子節點變化的監聽

WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged 
path:/sanguo

12.刪除節點

[zk: localhost:2181(CONNECTED) 4] delete /sanguo/jin

13.遞歸刪除節點

[zk: localhost:2181(CONNECTED) 15] rmr /sanguo/shuguo

14.查看節點狀態

[zk: localhost:2181(CONNECTED) 17] stat /sanguo
cZxid = 0x100000003
ctime = Wed Aug 29 00:03:23 CST 2018
mZxid = 0x100000011
mtime = Wed Aug 29 00:21:23 CST 2018
pZxid = 0x100000014
cversion = 9
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 1

三、API應用

由於本人學習目的是瞭解zookeeper,所以該模塊未進行學習。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章