第三章 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>



分享到:


相關文章: