zookeeper学习笔记02-客户端实战

本文详细介绍ZooKeeper客户端的连接配置与常用命令操作,包括客户端连接参数、数据节点的CRUD操作、权限管理和配额设置等内容。

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


三、zookeeper客户端实战##

1.zkClient客户端连接服

./zkClient.sh -timeout 5000 r -server ip:port    
--解释
timeout : 当前会话的超时时间,zookeeper服务器通过与客户端的心跳来判断会话是否有效,如果在timeout时间范围内没有收到心跳包,则判断该会话失效. (timeout单位:ms)
r:    只读(readonly)模式. zookeeper如果一个服务器与集群中其他过半的服务器失去连接,就不再处理客户端的请求。 如果我们仍然希望该服务器处理读请求, 这里可以使用r模式。

补充

./zkServer.sh status ## 查看节点信息

2.命令集合( h: 返回命令帮助列表 )

  • 1).ls path:列出当前节点的子节点
  • 2).stat path:列出当前节点的数据状态信息
    –.zookeeper中每一次对数据节点的写操作,称之为一次事务,系统会分配一个id标识该事务。
 cZxid = 0x0    ---创建事务id
ctime = Wed Dec 31 16:00:00 PST 1969 --创建时间
mZxid = 0x0  ---修改事务id
mtime = Wed Dec 31 16:00:00 PST 1969 ---修改时间
pZxid = 0x0  ---子节点列表最后一次修改的事务id:(当前节点添加子节点,删除一个或多个子节点时会触发此事件。修改子节点的数据内容时,不会触发)
cversion = -1 ---节点
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0  --- 创建临时节点的事务id,如果当前节点是持久节点,则恒为0
dataLength = 0   --- 当前节点存放数据的长度
numChildren = 1 --- 当前节点的子节点的个数

  • 3).ls2 path : 等价于 ls+stat
  • 4).get path: 获得当前节点的数据内容信息
  • 5).create创建节点
create [-s] [-e] path data acl
sequential[-s] :  顺序节点: 会在节点名称后面拼接十位(0000000001开始)。 (实战:分布式主键生成器)
ephemeral[-e]:   临时节点 :session失效后,该节点删除。

  • 6).set path data [version]:修改数据节点数据
每次修改完成之后,dataVersion都会增加1.
如果不带[version],会在现有的版本上增加1,
如果带有[version],version必须要与当前最新的版本号一致才可以提交成功, 否则会报错:version No is not valid

  • 7).delete path [version]:删除数据节点
[version]:同set指令
如果path下存在子节点,则会报错:Node not empty

  • 8).rmr path : 循环删除数据节点(同事删除该节点下的子节点)
  • 9).配额信息
    ----a). setquota -n|-b val path: 设置配额信息
-n: 子节点个数  ---当实际个数超出设置的个数时,不会报错。会有告警信息,在~/bin/zookeeper.out中记录
-b: 数据值长

—b). listquota path : 查看配额信息
—c). delquota path : 删除配额信息

  • 10).addauth : 为当前会话增加授权(ip,digest两种模式)
addauth ip 192.168.1.1
addauth digest username:password  

?如何创建带有授权信息的节点?

create /node_20 ip:192.168.1.21:crwda 
create /node_21 digest:xx ; --xx=username:Base64(SHA-1(username:password))

  • 11).setAcl: 设置授权信息

  • 11).setAcl: 设置授权信息

setAcl path ip:127.0.0.1:crwda
setAcl  pathdigest username:password 

权限信息crwda:

  • CREATE: 你可以创建子节点
  • READ: 你可以获取 节点数据以及当前节点的子节点列表。
  • WRITE: 你可以为节点设置数据。
  • DELETE: 你可以删除子节点
  • ADMIN: 可以为节点设置权限。

注意这里的CREATE,DELETE 是针对子节点的操作,而不是节点本身。
授权所有人都有权限:setAcl / world:anyone:wrcda

注意设置了权限setAcl path ip:127.0.0.1:crwda之后,必须使用:./zkCli.sh -server 127.0.0.1:2181 才能连进客户端。

  • 12).其他命令
quit: 退出
connect host:port :: 链接其他服务,使用close关闭
 history :: 类似linux的history ,
使用redo 编号(history打印出的编号),执行该编号的命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值