启动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=/<code>
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]$
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>
閱讀更多 大數據漫路求索 的文章