前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ZooKeeper的使用

ZooKeeper的使用

作者头像
云叶知秋
发布2021-02-25 17:17:38
3390
发布2021-02-25 17:17:38
举报
文章被收录于专栏:Unity3D学习笔记Unity3D学习笔记

一、连接

进入ZooKeeper安装目录下的bin目录,输入如下命令进入ZooKeeper的客户端

代码语言:javascript
复制
./zkCli.sh

成功进入后显示如下:

在这里插入图片描述
在这里插入图片描述

二、使用

1、查看节点

命令格式:

代码语言:javascript
复制
ls [-s] [-w] [-R] path

参数

描述

-s

除了显示节点,还额外显示节点的详细信息

-w

简单显示节点

-R

显示路径及路劲下的所有子节点

查看下不同参数显示的不同结果

代码语言:javascript
复制
ls /

运行结果:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
ls -w /

运行结果:

在这里插入图片描述
在这里插入图片描述

可以看出-w就是ls的默认参数

代码语言:javascript
复制
ls -R /

运行结果:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
ls -s /

运行结果:

在这里插入图片描述
在这里插入图片描述

-s参数显示的文件信息有点复杂,我们来对各个信息内容做一下描述

详细信息项

描述

cZxid

该数据节点被创建时的事务id,由64位数字组成,分为高32位和低32位

ctime

该数据节点创建时间

mZxid

该数据节点被修改时最新的事物id

mtime

该数据节点最后修改时间

pZxid

当前节点的父级节点事务ID

cversion

子节点版本号(子节点修改次数,每修改一次值+1)

dataVersion

当前节点版本号(可以理解为修改次数,每修改一次值+1)

aclVersion

当前节点的acl权限版本号,初始版本为0

ephemeralOwner

临时节点标示,当前节点如果是临时节点,则存储的创建者的会话id(sessionId),如果不是,那么值=0

dataLength

当前节点存储的数据的大小

numChildren

当前节点的子节点个数

2、创建节点

命令格式:

代码语言:javascript
复制
create [-s] [-e] [-c] [-t ttl] path [data] [acl]

参数

描述

-s

创建序列节点

-e

创建临时节点

-c

创建永久节点

acl

访问控制列表,用来控制节点的权限

-t

设置存活时间(针对持久节点,单位秒);需要开启,默认是关闭的。

2.1、创建永久节点

代码语言:javascript
复制
create /testC "testCValue"

有的版本不写后面的"testCValue"会创建不成功

运行结果:

在这里插入图片描述
在这里插入图片描述

查看节点详情信息

代码语言:javascript
复制
get -s /testC
在这里插入图片描述
在这里插入图片描述

2.2、创建临时节点

代码语言:javascript
复制
create -e /testE "testEValue"

运行结果:

在这里插入图片描述
在这里插入图片描述

查看节点详情信息

代码语言:javascript
复制
get -s /testE
在这里插入图片描述
在这里插入图片描述

可以看到临时节点详情数据中ephemeralOwner的值不为0,说明该节点是个临时节点,本次会话退出后,临时节点将会被自动删除

2.3、创建顺序节点

代码语言:javascript
复制
create -s /testS "testSValue"

运行结果:

在这里插入图片描述
在这里插入图片描述

查看节点详情信息,顺序节点有点不一样,在创建节点的时候会在节点名称后面增加10位的序号,所以查看节点时就需要带上序号,否则会提示节点不存在

代码语言:javascript
复制
get -s /testS

下图就是上面命令的执行结果,报节点不存在。

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
get -s /testS0000000013
在这里插入图片描述
在这里插入图片描述

3、查看节点数据

命令格式:

代码语言:javascript
复制
get [-s] [-w] path

参数

描述

-s

查看节点的详细信息

-w

查看节点信息

4、更新节点

命令格式:

代码语言:javascript
复制
set [-s] [-v version] path data

参数

描述

-s

更新节点数据后返回节点的详细信息

-v

指定更新节点的版本,对应节点的dataVersion的值

示例:

代码语言:javascript
复制
set -s /test "testValue"

运行结果:

在这里插入图片描述
在这里插入图片描述

上图的dataVersion现在的值是7,我们指定版本更新下数据

代码语言:javascript
复制
set -s -v 7 /test "testValue7"

运行结果:

在这里插入图片描述
在这里插入图片描述

我们也可以通过get命令查看节点的详情

代码语言:javascript
复制
get -s /test
在这里插入图片描述
在这里插入图片描述

5、删除节点

删除节点有两个命令,分别是delete和deleteall delete命令不能删除包含子节点的节点,命令格式:

代码语言:javascript
复制
delete [-v version] path

示例:

代码语言:javascript
复制
delete /test

如果/test节点包含子节点,则会给出提示

在这里插入图片描述
在这里插入图片描述

deleteall命令可以删除节点以及包含的所有子节点,命令格式:

代码语言:javascript
复制
deleteall path [-b batch size]

示例:

在这里插入图片描述
在这里插入图片描述

通过查看/test节点下还包含aaa节点,我们执行以下命令:

代码语言:javascript
复制
deleteall /test

执行后再查看节点数据,可以发现/test他所包含的子节点都被删除了

代码语言:javascript
复制
ls -R /
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-02-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、连接
  • 二、使用
    • 1、查看节点
      • 2、创建节点
        • 2.1、创建永久节点
        • 2.2、创建临时节点
        • 2.3、创建顺序节点
      • 3、查看节点数据
        • 4、更新节点
          • 5、删除节点
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档