Java中的zookeeper常用命令详解

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

注意我这里用的是官方最稳定的版本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

标签:zookeeper,命令
0
投稿

猜你喜欢

  • java实现微信公众号发送模版消息

    2022-04-23 08:09:11
  • Android 使用Shell脚本截屏并自动传到电脑上

    2022-07-06 01:21:43
  • 有关微博content的封装实现详解

    2022-12-02 17:37:53
  • SpringBoot YAML语法基础详细整理

    2023-04-16 14:15:30
  • 微信小程序支付C#后端源码

    2023-11-21 15:06:29
  • Android自定义ViewGroup实现九宫格布局

    2023-09-03 20:59:33
  • Android高级xml布局之输入框EditText设计

    2022-09-24 14:25:56
  • 详解C# 线程的挂起与唤醒

    2023-03-12 12:40:02
  • Java超详细讲解三大特性之一的多态

    2022-03-17 02:11:45
  • C#实现获取设置IP地址小工具

    2022-08-21 18:06:48
  • Kotlin Option与Either及Result实现异常处理详解

    2022-03-31 17:33:18
  • Android图像切换器imageSwitcher的实例应用

    2023-10-06 00:30:56
  • 使用java实现http多线程断点下载文件(一)

    2023-11-23 15:45:51
  • SpringBoot使用token简单鉴权的具体实现方法

    2022-07-10 14:23:42
  • Android使用gallery和imageSwitch制作可左右循环滑动的图片浏览器

    2021-08-31 22:49:45
  • StringUtils里的isEmpty方法和isBlank方法的区别详解

    2023-07-15 04:29:16
  • MyBatis SpringMVC整合实现步骤详解

    2023-02-02 20:33:07
  • android获取ibeacon列表的方法

    2023-01-18 00:57:54
  • C语言数据的存储专项分析

    2022-05-05 13:35:24
  • 详解Java中用于查找对象哈希码值的hashCode()函数

    2023-09-17 02:52:19
  • asp之家 软件编程 m.aspxhome.com