ZooKeeper常用命令

连接和断开节点

  • 查看ZooKeeper的状态和角色:ZooKeeper安装目录/bin/zkServer.sh status
  • 通过ZooKeeper客户端:ZooKeeper安装目录/bin/zkCli.sh -server ip地址:port
  • 客户端连接成功后,输出ZooKeeper支持的所有命令:help
  • 客户端连接成功后,断开连接:quit

节点控制

  • 查看指定路径下包含的节点:
# 查看/目录下包含的节点
ls  /
# 查看 /test/node1目录下包含的节点
ls /test/node1
  • 创建节点
    创建节点时,可以不带数据,此时获取该节点的数据,返回null
    临时节点:会话结束,节点删除
    -s:有序节点 -e:临时节点
# 创建永久无序节点
create  /test   "数据"
# 创建永久有序节点
create  -s  /test  "数据"
# 创建临时无序节点
create  -e  /test  "数据"
# 创建临时有序节点
create -e -s  /test "数据"
create -es /test "数据"
  • 读取节点数据
get 节点路径
get /test
  • 获取节点详细信息
get -s 节点路径
get -s /test
  • 查看当前节点的属性
stat 节点路径
  • 查看当前节点的子节点列表
ls 节点路径

返回结果:

test  #返回结果
cZxid = 0x200000013
ctime = Fri Aug 14 05:59:08 UTC 2020
mZxid = 0x200000017
mtime = Fri Aug 14 06:24:43 UTC 2020
pZxid = 0x200000013
cversion = 0
dataVersion = 2   #节点数据版本号
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0

在这里插入图片描述

  • 修改节点数据
set 节点路径 新数据

【方式2】带乐观锁的方式修改节点数据:

set -v 版本号 节点路径 数据
set -v 1 /test/a0000000006 12

在这里插入图片描述

基于版本号进行修改,当set命令传入的版本号与当前节点的版本号不一致时,zookeeper会拒绝修改。

  • 删除节点
#删除节点
delete 节点路径

#递归删除,可以删除某个节点及其子节点
deleteall 节点路径

带版本删除节点

delete -v 版本号 节点路径
delete -v 12 /test/a0000000006

监听器

(1) 使用【get -w 节点路径】注册的监听器能够在节点数据发生变化,向客户端发出通知,当触发一次监听事件后,该监听就会立即失效

get -w 节点路径

在这里插入图片描述
(2)使用【stat -w 节点路径】注册的监听器能够在节点数据发生变化,向客户端发出通知,当触发一次监听事件后,该监听就会立即失效

stat -w 节点路径

(3)使用【ls -w 节点路径】注册的监听器能监听该节点下的所有子节点的增加和删除操作,当触发一次监听事件后,该监听就会立即失效

ls -w /test

在这里插入图片描述
切记:一次监听器的注册只能捕获一次事件,使用一次后立即失效

ACL 访问权限控制列表

acl: access control list
Zookeeper的权限控制是针对每个znode节点的,需要对每个节点设置权限,子节点不会继承父节点的权限,客户端无权访问某节点,但可能访问它的子节点
zookeeper的权限模式:world、IP、auth、digest

在这里插入图片描述

  • world模式:只有一个用户,anyone,代表登录zookeeper的所有人(默认)
  • ip模式:对客户端进行ip地址认证
setAcl 节点路径  权限模式:授权对象:权限
#ip地址为192.168.1.2的客户端可以对节点拥有增删改查的权限
setAcl /test ip:192.168.1.2:crwda 
  • auth模式:使用已添加认证的用户认证
  • digest:使用用户名:密码的方式认证
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值