zookeeper的shell操作

一、啓動zookeeper集羣

  進入zookeeper安裝目錄下的bin目錄內,通過命令啓動

./zkServer.sh start

  通過命令查看節點狀態

./zkServer.sh status

  通過命令關閉

./zkServer.sh stop

 

 

二、連接zookeeper服務

  啓動zookeeper服務之後,輸入以下命令,連接到Zookeeper服務,注意:如果沒有配置環境變量在zookeeper的安裝目錄下的bin目錄下執行

./zkCli.sh -server localhost:2181

 

  連接成功後顯示:

  到這裏後我們就很開心了,接下來就可以進行操作了,下面介紹一些zookeeper的shell基本操作

三、 shell基本操作 

  •   查看節點:ls path [watch]  或   get path [watch]   或   ls2 path [watch]

ls 命令可以列出 Zookeeper 指定節點下的所有子節點,只能查看指定節點下的第一級的所有子節點;

get 命令可以獲取 Zookeeper 指定節點的數據內容和屬性信息

ls2命令可以列出 Zookeeper 指定節點下的所有子節點及屬性信息

複製代碼
[zk: localhost:2181(CONNECTED) 13] get /                      

cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x800000008
cversion = 8
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 2
[zk: localhost:2181(CONNECTED) 14] ls /
[zookeeper, test0000000004]
[zk: localhost:2181(CONNECTED) 15] ls2 /
[zookeeper, test0000000004]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x800000008
cversion = 8
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 2
複製代碼

 

 

  •   創建節點:create [-s] [-e] path data acl

      其中,-s 或-e 分別指定節點特性,順序或臨時節點,若不指定,則表示持久節點;acl 用來進行權限控制。

    •   創建順序節點:

  

[zk: localhost:2181(CONNECTED) 8] create -s /test 123
Created /test0000000004
[zk: localhost:2181(CONNECTED) 9] 

 

    •  創建臨時節點:

 

[zk: localhost:2181(CONNECTED) 16] create -e /test-tmp 123tmp
Created /test-tmp

 

    •  創建永久節點:    
[zk: localhost:2181(CONNECTED) 17] create /test-p 123p
Created /test-p

 

  •   查看節點內容:get path [watch]
複製代碼
[zk: localhost:2181(CONNECTED) 21] get /test-p
123p
cZxid = 0x80000000a
ctime = Wed Jul 04 23:57:01 CST 2018
mZxid = 0x80000000a
mtime = Wed Jul 04 23:57:01 CST 2018
pZxid = 0x80000000a
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0
複製代碼

 

  •   更改節點信息:set path data [version]

    data 就是要更新的新內容,version 表示數據版本。

複製代碼
[zk: localhost:2181(CONNECTED) 22] set /test-p 123456
cZxid = 0x80000000a
ctime = Wed Jul 04 23:57:01 CST 2018
mZxid = 0x80000000b
mtime = Thu Jul 05 00:01:59 CST 2018
pZxid = 0x80000000a
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
[zk: localhost:2181(CONNECTED) 23] get /test-p       
123456
cZxid = 0x80000000a
ctime = Wed Jul 04 23:57:01 CST 2018
mZxid = 0x80000000b
mtime = Thu Jul 05 00:01:59 CST 2018
pZxid = 0x80000000a
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
複製代碼

 

  •   刪除節點:delete path [version]  若刪除節點存在子節點,那麼無法刪除該節點,必須先刪除子節點,再刪除父節點。

          Rmr path   遞歸刪除節點。

 

[zk: localhost:2181(CONNECTED) 0] ls /
[test-p, zookeeper, test0000000004]
[zk: localhost:2181(CONNECTED) 1] delete /test0000000004
[zk: localhost:2181(CONNECTED) 2] ls /
[test-p, zookeeper]
[zk: localhost:2181(CONNECTED) 9] ls /            
[test-p, zookeeper, test]
[zk: localhost:2181(CONNECTED) 10] rmr /test       
[zk: localhost:2181(CONNECTED) 11] ls /     
[test-p, zookeeper]

 

  •   quota

    setquota -n|-b val path 對節點增加限制 

n:表示子節點的最大個數
b:表示數據值的最大長度
val:子節點最大個數或數據值的最大長度
path:節點路徑

[zk: localhost:2181(CONNECTED) 13] setquota -n 2 /test-p
Comment: the parts are option -n val 2 path /test-p

 

    listquota path 列出指定節點的 quota

[zk: localhost:2181(CONNECTED) 14] listquota /test-p    
absolute path is /zookeeper/quota/test-p/zookeeper_limits
Output quota for /test-p count=2,bytes=-1
Output stat for /test-p count=1,bytes=6
子節點個數爲 2,數據長度-1 表示沒限制

    delquota [-n|-b] path 刪除 quota

[zk: localhost:2181(CONNECTED) 15] delquota /test-p
[zk: localhost:2181(CONNECTED) 16] listquota /test-p
absolute path is /zookeeper/quota/test-p/zookeeper_limits
quota for /test-p does not exist.

 

  •   其他命令
    •  history : 列出命令歷史
複製代碼
[zk: localhost:2181(CONNECTED) 17] history
7 - ls /
8 - create /test 111
9 - ls /
10 - rmr /test
11 - ls /
12 - listquota /test-p
13 - setquota -n 2 /test-p
14 - listquota /test-p
15 - delquota /test-p
16 - listquota /test-p
17 - history
ZooKeeper -server host:port cmd args
        stat path [watch]
        set path data [version]
        ls path [watch]
        delquota [-n|-b] path
        ls2 path [watch]
        setAcl path acl
        setquota -n|-b val path
        history 
        redo cmdno
        printwatches on|off
        delete path [version]
        sync path
        listquota path
        rmr path
        get path [watch]
        create [-s] [-e] path data acl
        addauth scheme auth
        quit 
        getAcl path
        close 
        connect host:port
複製代碼

 

    •   redo:該命令可以重新執行指定命令編號的歷史命令,命令編號可以通過history 查看
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章