第三章 ZooKeeper基礎命令操作

啟動zk服務

  • bin/zkServer.sh start
<code>[bigdata@bigdata103 zookeeper-3.4.10]$ bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED/<code>

查看zk的運行狀態

  • bin/zkServer.sh status 由於我已經配置了zk的集群,所以此處顯示狀態為leader
<code>[bigdata@bigdata102 zookeeper-3.4.10]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: leader/<code>

客戶端鏈接zk

<code>[bigdata@bigdata102 zookeeper-3.4.10]$ bin/zkCli.sh
......
[zk: localhost:2181(CONNECTED) 0]/<code>

help 查看客戶端幫助命令

<code>[zk: localhost:2181(CONNECTED) 0] help

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
[zk: localhost:2181(CONNECTED) 1]/<code>

ls 查看

  • ls 查看命令(默認只有zookeeper一個節點)
<code>[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 2] ls /zookeeper
[quota]
[zk: localhost:2181(CONNECTED) 3] ls /zookeeper/quota
[]
[zk: localhost:2181(CONNECTED) 4] /<code>

get 獲取節點數據和更新信息

  • get內容為空(測試案例中,首行為空說明節點內容為空)
  • cZxid :創建節點的id
  • ctime :節點的創建時間
  • mZxid :修改節點的id
  • mtime :修改節點的時間
  • pZxid :子節點的id
  • cversion : 子節點的版本
  • dataVersion :當前節點數據的版本
  • aclVersion :權限的版本
  • ephemeralOwner :判斷是否是臨時節點
  • dataLength :數據的長度
  • numChildren :子節點的數量
<code>[zk: localhost:2181(CONNECTED) 4] get /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/<code>

stat 獲得節點的更新信息

<code>[zk: localhost:2181(CONNECTED) 5] stat /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/<code>

ls2是ls命令和stat命令的整合

<code>[zk: localhost:2181(CONNECTED) 6] ls2 /zookeeper
[quota]
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/<code>

create 創建節點

  • create [-s] [-e] path data acl 可以注意一下各個版本的變化

#創建kangxi節點,節點的內容為xuanye

<code>[zk: localhost:2181(CONNECTED) 8] create /kangxi "xuanye"
Created /kangxi/<code>

#獲得kangxi節點內容

<code>[zk: localhost:2181(CONNECTED) 3] get /merryyoumerryyouc
Zxid = 0x200000004
ctime = Sat Jun 02 14:20:06 UTC 2018
mZxid = 0x200000004
mtime = Sat Jun 02 14:20:06 UTC 2018
pZxid = 0x200000004
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 8

numChildren = 0/<code>

create -s 創建順序節點 自動累加

創建順序節點,順序節點會自動累加

<code>[zk: localhost:2181(CONNECTED) 10] create -s /kangxi/sun seq
Created /kangxi/sun0000000000
[zk: localhost:2181(CONNECTED) 11] create -s /kangxi/sun seq
Created /kangxi/sun0000000001
[zk: localhost:2181(CONNECTED) 12]/<code>

set path data [version] 修改節點

<code>[zk: localhost:2181(CONNECTED) 12] get /kangxi
xuanye
cZxid = 0x700000006
ctime = Wed Feb 12 11:12:05 CST 2020
mZxid = 0x700000006
mtime = Wed Feb 12 11:12:05 CST 2020
pZxid = 0x700000008
cversion = 2
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 2/<code>

修改節點內容為new-xuany

<code>[zk: localhost:2181(CONNECTED) 13] set /kangxi new-xuanye
cZxid = 0x700000006
ctime = Wed Feb 12 11:12:05 CST 2020
mZxid = 0x700000009
mtime = Wed Feb 12 12:16:37 CST 2020
pZxid = 0x700000008
cversion = 2
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 10
numChildren = 2/<code>

#再次查詢,節點內容已經修改

<code>[zk: localhost:2181(CONNECTED) 14] get /kangxi
new-xuanye
cZxid = 0x700000006
ctime = Wed Feb 12 11:12:05 CST 2020
mZxid = 0x700000009
mtime = Wed Feb 12 12:16:37 CST 2020
pZxid = 0x700000008
cversion = 2
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 10
numChildren = 2/<code>

#set 根據版本號更新 dataVersion 樂觀鎖

<code>[zk: localhost:2181(CONNECTED) 15] set /kangxi new-xuanye 1
cZxid = 0x700000006
ctime = Wed Feb 12 11:12:05 CST 2020
mZxid = 0x70000000a
mtime = Wed Feb 12 12:19:36 CST 2020
pZxid = 0x700000008
cversion = 2
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 10
numChildren = 2/<code>

#因為數據的版本號已經修改為2 再次使用版本號1修改節點提交錯誤

<code>[zk: localhost:2181(CONNECTED) 16] set /kangxi new-xuanye 1
version No is not valid : /kangxi
[zk: localhost:2181(CONNECTED) 17]/<code>

delete path [version] 刪除節點

<code>[zk: localhost:2181(CONNECTED) 17] ls /kangxi
[sun0000000000, sun0000000001]
[zk: localhost:2181(CONNECTED) 18] delete /kangxi/sun0000000000
[zk: localhost:2181(CONNECTED) 21] ls /kangxi

[sun0000000001]/<code>

#版本號操作與set類似 version

watcher通知機制

關於watcher機制大體的理解可以為,當每個節點發生變化,都會觸發watcher事件,類似於mysql的觸發器。zk中 watcher是一次性的,觸發後立即銷燬。

  • stat path [watch] 設置watch事件
  • get path [watch] 設置watch事件
  • 子節點創建和刪除時觸發watch事件,子節點修改不會觸發該事件
  • stat path [watch] 設置watch事件
<code>#添加watch 事件
[zk: localhost:2181(CONNECTED) 22] stat /yongzheng watch
Node does not exist: /yongzheng
#創建雍正節點時觸發watcher事件
[zk: localhost:2181(CONNECTED) 23] create /yongzheng yongzheng

WATCHER::

WatchedEvent state:SyncConnected type:NodeCreated path:/yongzheng
Created /yongzheng/<code>

get path [watch] 設置watch事件

<code>#在bigdata101主機上使用get命令添加watch事件
[zk: localhost:2181(CONNECTED) 26] get /yongzheng watch

yongzheng
cZxid = 0x700000010
ctime = Wed Feb 12 12:27:35 CST 2020
mZxid = 0x700000010
mtime = Wed Feb 12 12:27:35 CST 2020
pZxid = 0x700000010
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 9
numChildren = 0
#在bigdata102主機上修改節點觸發watcher事件
[zk: localhost:2181(CONNECTED) 6] set /yongzheng yinzhen
cZxid = 0x700000010
ctime = Wed Feb 12 12:27:35 CST 2020
mZxid = 0x700000011
mtime = Wed Feb 12 12:28:55 CST 2020
pZxid = 0x700000010
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0
#切換到bigdata101查看監控事件
[zk: localhost:2181(CONNECTED) 27]
WATCHER::WatchedEvent state:SyncConnected type:NodeDataChanged path:/yongzheng
#在bigdata101主機上設置刪除觸發watcher事件
[zk: localhost:2181(CONNECTED) 30] get /yongzheng watch
siage
cZxid = 0x700000010
ctime = Wed Feb 12 12:27:35 CST 2020
mZxid = 0x700000013
mtime = Wed Feb 12 12:30:02 CST 2020
pZxid = 0x700000010
cversion = 0
dataVersion = 3
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0
#在bigdata102主機上執行刪除命令
[zk: localhost:2181(CONNECTED) 7] delete /yongzheng
#在bidata101主機上查看監控結果

[zk: localhost:2181(CONNECTED) 31] WATCHER::WatchedEvent state:SyncConnected type:NodeDeleted path:/yongzheng/<code>

ACL權限控制

ZK的節點有5種操作權限:CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、刪、改、查、管理權限,這5種權限簡寫為crwda(即:每個單詞的首字符縮寫)。 注:這5種權限中,delete是指對子節點的刪除權限,其它4種權限指對自身節點的操作權限

身份的認證有4種方式:

  • world:默認方式,相當於全世界都能訪問
  • auth:代表已經認證通過的用戶(cli中可以通過addauth digest user:pwd 來添加當前上下文中的授權用戶)
  • digest:即用戶名:密碼這種方式認證,這也是業務系統中最常用的
  • ip:使用Ip地址認證

getAcl:獲取某個節點的acl權限信息

<code>#獲取節點權限信息默認為 world:cdrwa任何人都可以訪問
[zk: localhost:2181(CONNECTED) 31] getAcl /kangxi
'world,'anyone
: cdrwa
[zk: localhost:2181(CONNECTED) 32] /<code>

setAcl 設置權限

<code>[zk: localhost:2181(CONNECTED) 33] create /kangxi/test test 
Created /kangxi/test
[zk: localhost:2181(CONNECTED) 34] getAcl /kangxi/test
'world,'anyone
: cdrwa
#設置節點權限 crwa 不允許刪除
[zk: localhost:2181(CONNECTED) 36] setAcl /kangxi/test world:anyone:crwa
cZxid = 0x700000015
ctime = Wed Feb 12 13:11:58 CST 2020
mZxid = 0x700000015
mtime = Wed Feb 12 13:11:58 CST 2020
pZxid = 0x700000015
cversion = 0
dataVersion = 0
aclVersion = 1
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0
#查詢剛才設置的acl權限信息 crwa 沒有刪除權限
[zk: localhost:2181(CONNECTED) 37] getAcl /kangxi/test
'world,'anyone
: crwa
[zk: localhost:2181(CONNECTED) 38] create /kangxi/test/abc abc
Created /kangxi/test/abc
#刪除子節點的時候提交權限不足
[zk: localhost:2181(CONNECTED) 39] delete /kangxi/test/abc
Authentication is not valid : /kangxi/test/abc
[zk: localhost:2181(CONNECTED) 40]
#設置節點的權限信息為rda
[zk: localhost:2181(CONNECTED) 41] setAcl /kangxi/test world:anyone:rda
cZxid = 0x700000015
ctime = Wed Feb 12 13:11:58 CST 2020
mZxid = 0x700000015
mtime = Wed Feb 12 13:11:58 CST 2020
pZxid = 0x700000017
cversion = 1
dataVersion = 0
aclVersion = 2
ephemeralOwner = 0x0
dataLength = 4
numChildren = 1
[zk: localhost:2181(CONNECTED) 42] getAcl /kangxi/test
'world,'anyone
: dra

#可以成功刪除
[zk: localhost:2181(CONNECTED) 43] delete /kangxi/test/abc
[zk: localhost:2181(CONNECTED) 44] ls /kangxi/test
[]
[zk: localhost:2181(CONNECTED) 45]
#設置節點信息為a admin
[zk: localhost:2181(CONNECTED) 45] setAcl /kangxi/test world:anyone:a
cZxid = 0x700000015
ctime = Wed Feb 12 13:11:58 CST 2020
mZxid = 0x700000015
mtime = Wed Feb 12 13:11:58 CST 2020
pZxid = 0x70000001b
cversion = 2
dataVersion = 0
aclVersion = 3
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0
#獲取 設置都提示權限不足
[zk: localhost:2181(CONNECTED) 46] get /kangxi/test
Authentication is not valid : /kangxi/test
[zk: localhost:2181(CONNECTED) 47] set /kangxi/test 123
Authentication is not valid : /kangxi/test
[zk: localhost:2181(CONNECTED) 48] /<code>

acl Auth 密碼明文設置

<code>[zk: localhost:2181(CONNECTED) 53] create /sanguo shanguo
Created /sanguo
[zk: localhost:2181(CONNECTED) 54] create /sanguo/shuguo shuguo
Created /sanguo/shuguo
#查詢默認節點權限信息
[zk: localhost:2181(CONNECTED) 55] getAcl /sanguo/shuguo
'world,'anyone
: cdrwa
#使用auth設置節點權限信息
[zk: localhost:2181(CONNECTED) 56] setAcl /sanguo/shuguo auth:bigdata:bigdata:cdrwa      
Acl is not valid : /sanguo/shuguo
#註冊test:test 賬號密碼
[zk: localhost:2181(CONNECTED) 57] addauth digest bigdata:bigdata
[zk: localhost:2181(CONNECTED) 58] setAcl /sanguo/shuguo auth:bigdata:bigdata:cdrwa
cZxid = 0x700000020
ctime = Wed Feb 12 13:32:13 CST 2020
mZxid = 0x700000020
mtime = Wed Feb 12 13:32:13 CST 2020

pZxid = 0x700000020
cversion = 0
dataVersion = 0
aclVersion = 1
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
#查詢節點權限信息 密碼為密文格式
[zk: localhost:2181(CONNECTED) 59] getAcl /sanguo/shuguo
'digest,'bigdata:g48C603drgfeEGAw0vUkO4jvmHE=
: cdrwa
[zk: localhost:2181(CONNECTED) 60] /<code>

acl digest 密碼密文設置

<code>[zk: localhost:2181(CONNECTED) 62] getAcl /sanguo/weiguo
'world,'anyone
: cdrwa
#使用digest設置節點的權限信息 密碼為bigdata密文
[zk: localhost:2181(CONNECTED) 63] setAcl /sanguo/weiguo digest:bigdata:g48C603drgfeEGAw0vUkO4jvmHE=:cdra
cZxid = 0x700000023
ctime = Wed Feb 12 13:40:34 CST 2020
mZxid = 0x700000023
mtime = Wed Feb 12 13:40:34 CST 2020
pZxid = 0x700000023
cversion = 0
dataVersion = 0
aclVersion = 1
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
#查詢節點權限信息
[zk: localhost:2181(CONNECTED) 64] getAcl /sanguo/weiguo
'digest,'bigdata:g48C603drgfeEGAw0vUkO4jvmHE=
: cdra
#獲取節點信息提示權限不足
[zk: localhost:2181(CONNECTED) 8] get /sanguo/weiguo
Authentication is not valid : /sanguo/weiguo
#註冊賬戶
[zk: localhost:2181(CONNECTED) 9] addauth digest bigdata:bigdata
#可以正常獲取
[zk: localhost:2181(CONNECTED) 10] get /sanguo/weiguo
weiguo
cZxid = 0x700000023

ctime = Wed Feb 12 13:40:34 CST 2020
mZxid = 0x700000023
mtime = Wed Feb 12 13:40:34 CST 2020
pZxid = 0x700000023
cversion = 0
dataVersion = 0
aclVersion = 1
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
#由於沒有設置寫權限不能修改節點 w
[zk: localhost:2181(CONNECTED) 11] set /sanguo/weiguo 1111
Authentication is not valid : /sanguo/weiguo
[zk: localhost:2181(CONNECTED) 12] delete /sanguo/weiguo
[zk: localhost:2181(CONNECTED) 13] ls /sanguo
[shuguo]/<code>

acl ip 控制客戶端

<code>[zk: localhost:2181(CONNECTED) 0] create /kangxi/ip idaddr
Created /kangxi/ip
[zk: localhost:2181(CONNECTED) 1] get /kangxi/ip
idaddr
cZxid = 0x70000002a
ctime = Wed Feb 12 17:44:43 CST 2020
mZxid = 0x70000002a
mtime = Wed Feb 12 17:44:43 CST 2020
pZxid = 0x70000002a
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
#添加ip控制的權限信息
[zk: localhost:2181(CONNECTED) 2] setAcl /kangxi/ip ip:192.168.24.131:cdrwa
cZxid = 0x70000002a
ctime = Wed Feb 12 17:44:43 CST 2020
mZxid = 0x70000002a
mtime = Wed Feb 12 17:44:43 CST 2020
pZxid = 0x70000002a
cversion = 0
dataVersion = 0
aclVersion = 1
ephemeralOwner = 0x0
dataLength = 6

numChildren = 0
[zk: localhost:2181(CONNECTED) 3] getAcl /kangxi/ip
'ip,'192.168.24.131
: cdrwa
[zk: localhost:2181(CONNECTED) 4] /<code>

acl super超級管理員

使用super權限需要修改zkServer.sh,添加下方紅色字體的super管理員,重啟zkServer.sh

<code>nohup "$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \\
•                "-Dzookeeper.DigestAuthenticationProvider.superDigest=bigdata:g48C603drgfeEGAw0vUkO4jvmHE=" \\
•    -cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &
[zk: localhost:2181(CONNECTED) 0] ls /kangxi/ip
Authentication is not valid : /kangxi/ip
[zk: localhost:2181(CONNECTED) 1] addauth digest bigdata:bigdata
[zk: localhost:2181(CONNECTED) 2] ls /kangxi/ip
[]
[zk: localhost:2181(CONNECTED) 3] get /kangxi/ip
idaddr
cZxid = 0x70000002a
ctime = Wed Feb 12 17:44:43 CST 2020
mZxid = 0x70000002a
mtime = Wed Feb 12 17:44:43 CST 2020
pZxid = 0x70000002a
cversion = 0
dataVersion = 0
aclVersion = 1
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
[zk: localhost:2181(CONNECTED) 4]/<code>

四字命令

  • 使用四字命令需要安裝nc命令,(yum install nc)

stat 查看狀態信息

<code>[bigdata@bigdata101 zookeeper-3.4.10]$ echo stat | nc bigdata101 2181
Zookeeper version: 3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
Clients:
/192.168.24.131:52598[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x70000002e
Mode: follower
Node count: 10
[bigdata@bigdata101 zookeeper-3.4.10]$ /<code>

ruok 查看zookeeper是否啟動

<code>[bigdata@bigdata101 zookeeper-3.4.10]$ echo ruok | nc bigdata101 2181
imok
[bigdata@bigdata101 zookeeper-3.4.10]$/<code>

dump 列出沒有處理的節點,臨時節點

<code>[bigdata@bigdata101 zookeeper-3.4.10]$ echo dump | nc bigdata101 2181
SessionTracker dump:
org.apache.zookeeper.server.quorum.LearnerSessionTracker@72f13390
ephemeral nodes dump:
Sessions with Ephemerals (0):
[bigdata@bigdata101 zookeeper-3.4.10]$ /<code>

conf 查看服務器配置

<code>[bigdata@bigdata101 zookeeper-3.4.10]$ echo conf | nc bigdata101 2181
clientPort=2181
dataDir=/opt/module/zookeeper-3.4.10/zkData/version-2
dataLogDir=/opt/module/zookeeper-3.4.10/zkData/version-2
tickTime=2000
maxClientCnxns=60
minSessionTimeout=4000
maxSessionTimeout=40000
serverId=1
initLimit=10

syncLimit=5
electionAlg=3
electionPort=3888
quorumPort=2888
peerType=0
[bigdata@bigdata101 zookeeper-3.4.10]$ /<code>

cons 顯示連接到服務端的信息

<code>[bigdata@bigdata101 zookeeper-3.4.10]$ echo cons | nc bigdata101 2181
/192.168.24.131:52602[0](queued=0,recved=1,sent=0)
[bigdata@bigdata101 zookeeper-3.4.10]$ /<code>

envi 顯示環境變量信息

<code>[bigdata@bigdata101 zookeeper-3.4.10]$ echo envi | nc bigdata101 2181
Environment:
zookeeper.version=3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
host.name=bigdata101
java.version=1.8.0_241
java.vendor=Oracle Corporation
java.home=/opt/module/jdk1.8.0_241/jre
java.class.path=/opt/module/zookeeper-3.4.10/bin/../build/classes:/opt/module/zookeeper-3.4.10/bin/../build/lib/*.jar:/opt/module/zookeeper-3.4.10/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/module/zookeeper-3.4.10/bin/../lib/slf4j-api-1.6.1.jar:/opt/module/zookeeper-3.4.10/bin/../lib/netty-3.10.5.Final.jar:/opt/module/zookeeper-3.4.10/bin/../lib/log4j-1.2.16.jar:/opt/module/zookeeper-3.4.10/bin/../lib/jline-0.9.94.jar:/opt/module/zookeeper-3.4.10/bin/../zookeeper-3.4.10.jar:/opt/module/zookeeper-3.4.10/bin/../src/java/lib/*.jar:/opt/module/zookeeper-3.4.10/bin/../conf:
java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.io.tmpdir=/tmp
java.compiler=
os.name=Linux
os.arch=amd64
os.version=2.6.32-642.el6.x86_64
user.name=bigdata
user.home=/home/bigdata
user.dir=/opt/module/zookeeper-3.4.10
[bigdata@bigdata101 zookeeper-3.4.10]$
/<code>

mntr 查看zk的健康信息

<code>[bigdata@bigdata101 zookeeper-3.4.10]$ echo mntr | nc bigdata101 2181
zk_version      3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
zk_avg_latency  0
zk_max_latency  0

zk_min_latency  0
zk_packets_received     7
zk_packets_sent 6
zk_num_alive_connections        1
zk_outstanding_requests 0
zk_server_state follower
zk_znode_count  10
zk_watch_count  0
zk_ephemerals_count     0
zk_approximate_data_size        134
zk_open_file_descriptor_count   30
zk_max_file_descriptor_count    4096
[bigdata@bigdata101 zookeeper-3.4.10]$ /<code>

wchs 展示watch的信息

<code>[bigdata@bigdata101 zookeeper-3.4.10]$ echo wchs | nc bigdata101 2181
0 connections watching 0 paths
Total watches:0
[bigdata@bigdata101 zookeeper-3.4.10]$ /<code>

wchc和wchp 顯示session的watch信息 path的watch信息

  • 需要在 配置zoo.cfg文件中添加 4lw.commands.whitelist=*
<code>[bigdata@bigdata101 zookeeper-3.4.10]$ echo wchc | nc bigdata101 2181
wchc is not executed because it is not in the whitelist.
[bigdata@bigdata101 zookeeper-3.4.10]$ echo wchp | nc bigdata101 2181
wchp is not executed because it is not in the whitelist.
[bigdata@bigdata101 zookeeper-3.4.10]$ /<code>



分享到:


相關文章: