专栏首页shysh95Zookeeper Shell

Zookeeper Shell

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

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

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

创建节点

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

读取

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

# 列出指定节点下面的所有子节点(只能列出下一级),你会发现在根节点下面有一个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命令。

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

删除

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

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

# 删除包含子节点的节点
rmr path

其他命令

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

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

# 删除配额
delquota [-n|-b] path

本文分享自微信公众号 - shysh95(shysh95),作者:shysh95

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 红黑树

    二叉查找树一种提高查询效率(O(logN))的二叉树,但是二叉查找树的查询效率在新节点不断的插入后查询效率有可能会退化为O(N),相关原因请查看这篇文章二叉树遍...

    shysh95
  • RabbitMQ HAProxy负载均衡

    在本章开始之前,我们虽然前面已经创建了集群,但是我们在之前连接集群的方式,都是直连集群中的某一个几点,这样被直连的几点将会承受很大的压力,剩余的节点则比较浪费,...

    shysh95
  • 树-基本概念认知

    完全二叉树只要确保节点从左往右从上往下节点的顺序和同样深度的满二叉树一样,同时只需要确保除了最后一个节点都是齐全的就可以。例如下图就是一个完全二叉树。

    shysh95
  • 数据结构图解(递归,二分,AVL,红黑树,伸展树,哈希表,字典树,B树,B+树)

    老梁
  • 浅谈树形结构的特性和应用(上):多叉树,红黑树,堆,Trie树,B树,B+树...

    上篇文章我们主要介绍了线性数据结构,本篇233酱带大家康康 无所不在的非线性数据结构之一:树形结构的特点和应用。

    Monica2333
  • 二叉查找树(Binary Search Tree)

    在二叉搜索树b中查找x的过程为: 若b是空树,则搜索失败,否则: 若x等于b的根节点的数据域之值,则查找成功;否则: 若x小于b的根节点的数据域之值,则搜...

    None_Ling
  • 红黑树(Red-Black Tree)

    红黑树,本质上来说就是一棵二叉查找树,但它在二叉查找树的基础上增加了着色和相关的性质使得红黑树相对平衡,从而保证了红黑树的查找、插入、删除的时间复杂度最坏为O(...

    None_Ling
  • 整理得吐血了,二叉树、红黑树、B&B+树超齐全,快速搞定数据结构

    没有必要过度关注本文中二叉树的增删改导致的结构改变,规则操作什么的了解一下就好,看不下去就跳过,本文过多的XX树操作图片纯粹是为了作为规则记录,该文章主要目的是...

    Java程序猿阿谷
  • DOM(文档对象模型)基础加强

    黑泽君
  • 每天一算:Odd Even Linked List

    我们会在每天早上8点30分准时推送一条LeetCode上的算法题目,并给出该题目的动画解析以及参考答案,每篇文章阅读时长为五分钟左右。

    五分钟学算法

扫码关注云+社区

领取腾讯云代金券