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

Zookeeper Shell

作者头像
shysh95
发布2019-07-24 15:02:54
1.1K0
发布2019-07-24 15:02:54
举报
文章被收录于专栏:shysh95

本文主要讲解使用Zookeeper自带的客户端zkCli.sh来进行一些Zookeeper的一些基本操作,如创建删除节点等。

代码语言:javascript
复制
# 进入容器
docker exec -it zookeeper1 bash
# 连接zookeeper节点
zkCli.sh -server zoo1:2181
# 查看帮助
help

Zookeeper中主要有以下操作,如下图:

创建节点
代码语言:javascript
复制
# -s:指定节点是顺序节点
# -e:指定节点时临时节点
# path:指定节点路径
# data:节点存储的数据内容
# acl:该节点的权限策略
create [-s] [-e] path data acl
# 举个例子:在根节点创建一个持久化节点名称为zk_learn,数据是123
create /zk_learn 123
读取

读取主要是展示节点列表和节点内容,与读取相关的命令是ls和get。

代码语言:javascript
复制
# 列出指定节点下面的所有子节点(只能列出下一级),你会发现在根节点下面有一个Zookeeper的保留节点,名称就是zookeeper
# path:指定节点路径
# watch:是否对目录的变动进行监听
ls path [watch]

# 列出子节点和该节点的属性信息
ls2 path [watch]

# 读取指定节点的内容和属性信息
# path:指定节点路径
# watch:是否对节点内容变动进行监听
get path [watch]

下图主要是节点的内容和属性,下面解释一下图中的信息:

  • 第一行数据(123):就是我们设置的该节点的内容
  • cZxid:创建该节点的事务id
  • ctime:创建该节点的时间
  • mZxid:最后一次更新该节点的事务id
  • mtime:最后一次更新该节点的时间
  • pZxid:该节点的子节点列表最后一次被修改的事务的id(例如为当前节点添加子节点、从当前节点的子节点中删除一个或多个子节点都会引起节点的子节点的列表的改变, 而修改节点的数据内容则不在此列)
  • cversion:子节点列表的版本
  • dataVersion:数据内容的版本
  • aclVersion:ACL的版本
  • ephemeralOwner:用于临时节点,表示创建该临时节点的事务id,如果当前节点是永久节点,这个值固定为0
  • dataLength:存放的数据长度
  • numChildren:子节点的数量
更新

更新指定节点的内容,使用set命令。

代码语言:javascript
复制
# 设置指定节点的内容
# path:指定节点路径
# data:设置节点的新内容
# version:指定本次操作是基于ZNode的哪个版本(dataVersion)进行的
set path data [version]
删除

删除指定的节点,使用delete、rmr命令。

代码语言:javascript
复制
# 删除指定的节点,如果该节点下面还有子节点则无法删除
# path:指定节点的路径
# version:指定本次操作是基于ZNode的哪个版本(dataVersion)进行的
delete path [version]

# 删除包含子节点的节点
rmr path
其他命令
代码语言:javascript
复制
# 设置配额,解释见下一行注释
# 设置指定路径可以创建的子节点数量或存储数据的最大长度,超过也允许创建,只是给出警告日志
# -n:表示限制子节点的个数
# -b:表示限制数据的长度
setquota -n|-b val path

# 列出指定节点的配额 
listquota path

# 删除配额
delquota [-n|-b] path
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员修炼笔记 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建节点
  • 读取
  • 更新
  • 删除
  • 其他命令
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档