软件编程
位置:首页>> 软件编程>> java编程>> Java中的zookeeper常用命令详解

Java中的zookeeper常用命令详解

作者:怪?咖@  发布时间:2022-12-07 05:46:35 

标签:zookeeper,命令

注意我这里用的是官方最稳定的版本3.7.1,版本之间有个别命令是有差距的!

1.zkCli.sh客户端

zkCli.sh可以理解成客户端,也可以理解成命令行工具,把命令交给他,让他和zk的服务端打交道。
类似于mysql,我们安装完mysql想要执行命令,那么就必须要通过mysql -u账号 -p密码进入命令行工具里面,才能执行sql。

在zookeeper/bin 目录下:

Java中的zookeeper常用命令详解

执行./zkCli.sh就进入到了客户端

ls /:查询当前目录下的节点
create /test1:创建test1节点

Java中的zookeeper常用命令详解

客户端关闭:

输入quit 或者按 Ctrl + C

2.多节点类型创建

  • 创建持久节点:create /test2

  • 创建持久序号节点:create -s /test2

  • 创建临时节点:create -e /test2

  • 创建临时序号节点:create -e -s /test2

  • 创建容器节点:create -c /test2

创建test3临时节点,并向节点赋值数据1(其他节点创建的时候赋值同样如此,在后面跟上数据即可):create -e /test3 1

3.查询节点

  • 查询子节点:

  • 查询当前节点的子节点:ls /

  • 就是获取test2下的子节点:ls /test2

  • 普通节点下的数据:get /test2

  • 查询节点详细信息:get -s /test2 || start /test2 || ls -s /test2 (这三种都可以的)

Java中的zookeeper常用命令详解

4.set数据

set [-s] [-v version] path data
  • path:节点路径。

  • data:需要存储的数据。

  • [-v version]:可选项,版本号(可用作乐观锁)。

  • [-s]:set后返回详情,不添加-s就是返回的set的数据

版本不对就set不成功!

Java中的zookeeper常用命令详解

5.删除节点

  • 普通删除

  • 删除a下的b节点:delete /a/b

  • 删除a节点:delete /a

  • 不管有没有子节点都删除:deleteall /test1

  • 乐观锁删除(1就是get -s查询出来的dataVersion版本,版本不对删除就失败):delete -v 1 /test2

Java中的zookeeper常用命令详解

6.权限设置

acl:权限,定义了什么样的⽤户能够操作这个节点,且能够进⾏怎样的操作。

  • c: create 创建权限,允许在该节点下创建⼦节点

  • w:write 更新权限,允许更新该节点的数据

  • r:read 读取权限,允许读取该节点的内容以及⼦节点的列表信息

  • d:delete 删除权限,允许删除该节点的⼦节点

  • a:admin 管理者权限,允许对该节点进⾏acl权限设置

常用命令:

  • 获取某个节点的 acl 权限信息:getAcl /test2

  • 设置某个节点的 acl 权限信息:

  • 指定该节点只有c的权限:setAcl /test2 world:anyone:c

  • 指定某个ip具有什么权限:setAcl /runoob/ip ip:192.168.3.7:cdrwa

Java中的zookeeper常用命令详解

注册当前会话的账号和密码:

addauth digest xiaowang:123456

创建一个节点赋值abcd数据,然后必须使用xiaoming账号密码才能进行读写权限,这时候使用别的会话是访问不了这个节点的。

create /test-node abcd auth:xiaowang:123456:cdwra

在另⼀个会话中必须先使⽤账号密码,才能拥有操作该节点的权限

Java中的zookeeper常用命令详解

7.其他命令

当命令输入错误的时候会出现命令帮助文档的!
查看当前会话的历史命令:history

来源:https://blog.csdn.net/weixin_43888891/article/details/125400879

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com