(一) 启动Zookeeper服务 (以linux,mac为例)
进入到安装目录下(/usr/local/zookeeper-3.4.14/bin).
可以看到 zkServer.sh 脚本.
启动方式: ./zkServer.sh start 出现如下提示⬇️代表启动成功了.
bash-3.2# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
也可以验证是否启动成功: jps 命令
可以看到 -> 54406 ZooKeeperMain 这样的就是启动成功了.
(二) 客户端命令登陆
依然是进入到安装目录下(/usr/local/zookeeper-3.4.14/bin).
可以看到 zkCli.sh 脚本.
./zkCli.sh即可
bash-3.2# ./zkCli.sh
Connecting to localhost:2181
.....
Welcome to ZooKeeper!
......
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] 可以在此,输入zk的客户端命令了.
(三) 客户端命令可以通过help命令(简写h)查看都有什么命令.
[zk: localhost:2181(CONNECTED) 2] help
ZooKeeper -server host:port cmd args
-- 节点相关(增删改查)
ls path [watch] 查看路径下的节点信息
ls2 path [watch] 查看节点详细信息,相当于(ls +stat)功能合并
stat path [watch] 查看节点信息
get path [watch] 获取节点的信息(包含该节点的值)
create [-s] [-e] path data acl 创建节点
set path data [version] 修改节点信息
rmr path 删除节点:递归删除路径的节点信息
delete path [version] 删除节点
sync path 同步节点
--节点配额相关
listquota path 展示节点的的配额情况.
setquota -n|-b val path 设置配额(经过测试,只能作用于新创建的节点)
delquota [-n|-b] path 删除配额信息
--其他命令
history 查看历史执行的命令
redo cmdno redo命令用于再次执行某个命令,使用方式为redo cmdid 如 redo 20
常与history配合使用 (cmdid 通过history查询而来)
close close命令用于关闭与服务端的链接
connect host:port connects命令用于连接服务端
quit 退出当前客户端
printwatches on|off --不知道(没搞明白)
-- 节点权限相关
addauth scheme auth --添加授权用户(没搞明白)
setAcl path acl -- 设置权限(没搞明白)
getAcl path --获取当前路径权限(没搞明白)
[zk: 127.0.0.1:2181(CONNECTED) 29] get /t
tttt
cZxid = 0x21
ctime = Tue Sep 03 15:52:50 CST 2019
mZxid = 0x21
mtime = Tue Sep 03 15:52:50 CST 2019
pZxid = 0x21
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0
其中:
cZxid:节点创建时的zxid
ctime:节点创建时间
mZxid:节点最近一次更新时的zxid
mtime:节点最近一次更新的时间
cversion:子节点数据更新次数
dataVersion:本节点数据更新次数
aclVersion:节点ACL(授权信息)的更新次数
ephemeralOwner:如果该节点为临时节点,ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是临时节点,ephemeralOwner值为0.
dataLength:节点数据长度,本例中为tttt的长度
numChildren:子节点个数
其中关于权限的没搞懂, 后续搞懂再说… 如有明白的愿意指点一下小子我,那么就更好了.哇卡卡卡…