zookeeper客户端命令详解

zookeeper客户端命令详解

想要用zkClient链接zookeeper,首先执行如下命令,连接到zookeeper server

./zkCli.sh -server localhost:2181
help命令

help命令用于查询客服端所支持的所用的命令,执行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
get path [watch]
create [-s] [-e] path data acl
addauth scheme auth
quit
getAcl path
close
connect host:port
复制代码
connect命令

连接zk服务端,与close命令配合使用可以连接或者断开zk服务端

connect 127.0.0.1:2181
close命令

close命令用于关闭与服务端的链接

get命令

get命令用于获取节点的信息,注意节点的路径必须是以/开头的绝对路径。如get /

复制代码
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x1469
cversion = 3
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 4
复制代码
其中:

cZxid:节点创建时的zxid

ctime:节点创建时间

mZxid:节点最近一次更新时的zxid

mtime:节点最近一次更新的时间

cversion:子节点数据更新次数

dataVersion:本节点数据更新次数

aclVersion:节点ACL(授权信息)的更新次数

ephemeralOwner:如果该节点为临时节点,ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是临时节点,ephemeralOwner值为0

dataLength:节点数据长度,本例中为hello world的长度

numChildren:子节点个数

stat命令

stat命令用于查看节点的状态信息,如stat /

复制代码
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x1469
cversion = 3
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 4
复制代码
该命令的结果参数说明同get命令

set命令

set命令用于设置节点的数据,如:

set /usergrid hellUsergrid
ls命令

ls命令用于获取路径下的节点信息,注意路径为绝对路径,如:ls /storm

[assignments, storms, errors, supervisors, workerbeats]
ls2命令

ls2命令是ls命令的增强版,比ls命令多输出本节点信息,如:ls2 /storm

复制代码
[assignments, storms, errors, supervisors, workerbeats]
cZxid = 0x1469
ctime = Tue Nov 14 11:32:09 CST 2017
mZxid = 0x1469
mtime = Tue Nov 14 11:32:09 CST 2017
pZxid = 0x1470
cversion = 5
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 1
numChildren = 5
复制代码
listquota命令

listquota命令用于显示配额,如listquota /storm

absolute path is /zookeeper/quota/storm/zookeeper_limits
quota for /storm does not exist.
setquota命令

setquota命令用于设置节点个数以及数据长度的配额,如:

1
2
setquota –n 4 /zookeeper/node 设置/zookeeper/node子节点个数最大为4
setquota –b 100 /zookeeper/node 设置/zookeeper/node节点长度最大为100
delquota命令

delquota命令用于删除配额,-n为子节点个数,-b为节点数据长度,如:delquota –n 2

history命令

history用于列出最近的命令历史,可以和redo配合使用。如history

复制代码
12 - get /usergrid
13 - help
14 - ls /
15 - ls /storm
16 - ls2 /storm
17 - help
18 - listquota /storm
19 - listquota /zookeeper
20 - help
21 - history
22 - history
复制代码
redo命令

redo命令用于再次执行某个命令,使用方式为redo cmdid 如 redo 20

常与history配合使用

create命令

create命令用于创建节点,其中-s为顺序充点,-e临时节点

create /zookeeper/node1"test_create" world:anyone:fdsfds
delete命令

delete命令用于删除节点,如delete /nodeDelete

addauth命令

addauth命令用于节点认证,使用方式:如addauth digest username:password

setAcl命令

setAcl命令用于设置节点Acl

Acl由三部分构成:1为scheme,2为user,3为permission,一般情况下表示为scheme🆔permissions

getAcl命令

获取节点的Acl,如getAcl /node1

scheme和id

world: 它下面只有一个id, 叫anyone, world:anyone代表任何人,zookeeper中对所有人有权限的结点就是属于world:anyone的

auth: 它不需要id, 只要是通过authentication的user都有权限(zookeeper支持通过kerberos来进行authencation, 也支持username/password形式的authentication)

digest: 它对应的id为username:BASE64(SHA1(password)),它需要先通过username:password形式的authentication

ip: 它对应的id为客户机的IP地址,设置的时候可以设置一个ip段,比如ip:192.168.1.0/16, 表示匹配前16个bit的IP段

super: 在这种scheme情况下,对应的id拥有超级权限,可以做任何事情(cdrwa)

permissions
CREATE©: 创建权限,可以在在当前node下创建child node

DELETE(d): 删除权限,可以删除当前的node

READ®: 读权限,可以获取当前node的数据,可以list当前node所有的child nodes

WRITE(w): 写权限,可以向当前node写数据

ADMIN(a): 管理权限,可以设置当前node的permission

sync命令

sync命令用于强制同步,由于请求在半数以上的zk server上生效就表示此请求生效,那么就会有一些zk server上的数据是旧的。sync命令就是强制同步所有的更新操作。

printwatchers命令

printWatchers命令用于设置和显示监视状态,值为on或则off

quit命令

退出客户端

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值