zookeeper的数据结构&操作命令

前面一篇介绍了基于win10 64位系统搭建的zookeeper的伪集群,由5个节点组成的,因此我们这里为了后面的文章介绍一下zookeeper的数据结构以及一些操作运维相关的命令。

1.zookeeper的数据结构描述

ZooKeeper提供的名称空间非常类似于标准文件系统。名称是由斜线(/)分隔的一系列路径元素。ZooKeeper名称空间中的每个节点都由一个路径标识。zookeeper中
有个根节点是/,在根节点下面就是一个个的子节点。我们称为ZNode。ZNode是zookeeper的最小数据单位,在ZNode下面还可以挂子节点ZNode.这样就形成了一个层次化
的命名空间ZNode树,称作ZNode Tree。我们可以对ZNode节点进行增删改查的操作。学习zookeeper的数据结构的时候可以类比文件系统的层级结构。

2.zookeeper的节点属性描述

zookeeper的节点类型有三类:持久性节点,临时性节点,顺序性节点。这些节点在一定程度上可以组合为四种常见的节点类型,
1.持久节点
持久节点的特点就是节点被创建之后一直在zookeeper服务器中存在,直到删除操作主动清除,这种节点也是最常用的一种。
2.持久顺序节点
持久顺序节点其实就是在持久节点的基础上增加了一个顺序性,实质上是在创建节点的时候会在节点名后面加上一个数字,标明节点顺序。
3.临时节点
临时节点的生命周期更加短暂,会随着客户端会话的结束而被删除,与持久性节点不同的是,临时节点不能创建子节点。
4.临时顺序节点
临时书序节点就是有顺序的临时节点,和持久顺序节点相同,在其创建的时候会在名字后面加上数字后缀。

3.zookeeper的节点内容说明

随便打开一个节点,目录如下:
D:\programefiles\zookeeper\zookeeper-3\bin,双击zkCli.cmd即可连接到zookeeper服务器
在这里插入图片描述
整个 ZNode 节点内容包括两部分:节点数据内容和节点状态信息。
cZxid 就是 Create ZXID,表示节点被创建时的事务 ID。
mZxid 就是 Modified ZXID,表示节点最后一次被修改时的事务 ID。
ctime 就是 Create Time,表示节点创建时间。
mtime 就是 Modified Time,表示节点最后一次被修改的时间。
pZxid 表示该节点的子节点列表最后一次被修改时的事务 ID。只有子节点列表变更才会更新 pZxid,子节点内容变更不会更新。
cversion 表示子节点的版本号。
dataVersion 表示内容版本号。
dataLength 表示数据长度。
numChildren 表示子节点数。
ephemeralOwner 表示创建该临时节点时的会话 sessionID,如果是持久性节点那么值为 0。
总结一下:znode包含了数据,子节点引用,访问权限,znode的节点状态

4.zookeeper的客户端操作命令

在这里插入图片描述
通过 Help 命令我们看到 Zookeeper 提供很多的操作命令,但是这跟redis相比少了一些,下面简单介绍一些可能常用的
命令

  1. get path [watch]
  2. ls2 path
  3. set path data [version]
  4. delete path [version]
  5. create [-s] [-e] path data acl
    当然也提供一些常用的运维命令
    echo stat|nc 127.0.0.1 2181 查看哪个节点被选择作为follower或者leader
    使用echo ruok|nc 127.0.0.1 2181 测试是否启动了该Server,若回复imok表示已经启动。
    echo dump| nc 127.0.0.1 2181 ,列出未经处理的会话和临时节点。
    echo kill | nc 127.0.0.1 2181 ,关掉server
    echo conf | nc 127.0.0.1 2181 ,输出相关服务配置的详细信息。
    echo cons | nc 127.0.0.1 2181 ,列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。
    echo envi |nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)。
    echo reqs | nc 127.0.0.1 2181 ,列出未经处理的请求。
    echo wchs | nc 127.0.0.1 2181 ,列出服务器 watch 的详细信息。
    echo wchc | nc 127.0.0.1 2181 ,通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
    echo wchp | nc 127.0.0.1 2181 ,通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。

相关链接:
https://www.cnblogs.com/stono/p/11495309.html
https://www.cnblogs.com/xums/p/7074008.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值