Zookeeper-客户端命令

本文详细介绍了Zookeeper客户端工具zkCli.sh的使用,包括连接Zookeeper服务器、创建节点、获取和删除节点、设置节点数据和权限、管理子节点数量限制等操作。还提到了Acl权限设置和监听器的使用,帮助理解Zookeeper的客户端交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Zookeeper客户端命令

zkCli.sh

默认为本地服务端,连接到服务器

zkCli.sh -server ip:port

指定服务端,连接到服务集群

help命令

connect host:port 

连接到其他的zookeeper服务器

     

create [-s] [-e] path data acl

创建节点,-s为创建有序列的节点,-e创建临时节点,acl为权限设置,具体Zookeeper-权限

get path [watch]

获取节点信息,watch=true,则监听该节点


delete path [version]

删除节点。version=-1时,不匹配版本号,直接删除。version为其他值时,删除对应版本号的节点。无法删除有子节点的节点。

删除,版本号dataVersion不对应的时候,删除失败。版本号对了,则删除成功。

无法删除有子节点的节点


rmr path

删除节点命令,此命令与delete命令不同的是delete不可删除有子节点的节点,但是rmr命令可以删除,注意路径为绝对路径

stat path[watch]

查看节点状态信息,watch为true,添加监听器

监听节点

使用客户端修改water的节点数据

监听器监听修改节点事件

注意Stat设置是否监听只能奏效一次,触发后监听就失效

set path data [version]

修改节点数据,version为待修改数据的版本号。修改后,节点版本dataVersion数据新增

ls path [watch]

列出节点path的子节点,watch为true,添加节点path的监听器,如下图

ls2 path [watch]

列出节点path的节点信息,同时包括状态信息。wattch为true时,会监听该节点的触发事件,但是触发完后,该监听事件就被清除了。

setquota -n|-b val path

设置节点的子节点最大个数或者最大长度。当子节点超过了限制,日志会打印警告信息。

-n:限制该节点最大能拥有多少个子节点

-b:限制该节点能存储的数据最大是多少字节

下图我们创建foo了节点,同时我们限制其最大子节点个数为3,但我们创建3个节点时候,日志打印出了警告信息。

警告信息

delquota [-n|-b] path

删除限制

下图,当我们再次创建节点/foo/d的时候,日志系统继续发出提示。当我们删除限制/foo,再次创建系欸但/foo/e的时候,日志系统不再提示。


  listquota path

  显示指定路径下已经设置的限制

 history

列出最近使用的命令

redo cmdno

与history配合使用,指定执行历史某个命令


quit

退出连接

setAcl path acl

Acl表示为scheme:id:permissions,第一个字段表示采用哪一种机制scheme,第二个id表示用户user,第三个permissions表示相关权限(如只读,读写,管理等)。zookeeper提供了如下几种机制(scheme):

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

默认情况下为world。

默认Acl:

设置Acl:

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

设置auth的Acl,先得创建使用addauth schema auth创建user:password。注意这里digest是语法要求,和下面提到得digest不是一个概念。

设置Acl:

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

setAcl /testAcl/testB digest:user:6DY5WhzOfGsWQ1XFuIyzxkpwdPo=:crwa

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

setAcl /testAcl/testB ip:192.168.249.139:crwa

permissions

CREATE(c): 创建权限,控制当前节点的子节点是否可以创建的权限

DELETE(d): 删除权限,控制当前节点的子节点是否可以删除的权限,不是控制本节点的删除权限,本节点的删除权限不受影响。

READ(r): 读权限,控制当前节点读的权限

WRITE(w): 写权限,控制当前节点的权限

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

addauth scheme auth

添加id:


 
 close

关闭客户端

      
printwatches on|off

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值