ZooKeeper基础-数据结构服务端/客户端常用命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZooKeeper基础-数据结构服务端/客户端常用命令相关的知识,希望对你有一定的参考价值。

  • 一、ZooKeeper简介
  • 二、ZooKeeper数据结构&命令
    ** 1、数据结构
    ** 2、服务端常用命令
    ①单机启动命令:./zkServer.sh start
    ②状态查询命令:./zkServer.sh status
    ③停止服务命令:./zkServer.sh stop
    ④重启服务命令:./zkServer.sh restart
    ** 3、客户端常用命令
    Ⅰ、基础常用命令
    ①连接至客户端:./zkCli.sh -server [ip地址]:[端口号-默认为2181]
    ②断开连接:quit
    ③查看帮助:help
    ④显示指定目录下节点:ls [节点path]
    ⑤创建节点:create /[节点path] value
    ⑥获取节点值:get /[节点path]
    ⑦设置/更新节点值:set /[节点path] value
    ⑧删除单个节点:delete /[节点path]
    ⑨删除带有子节点节点:deleteall /[节点path]
    Ⅱ、重要常用命令
    ①创建临时节点:create -e /[节点path] value
    ②创建顺序节点:create -s /[节点path] value
    ③创建临时顺序节点:create -es /[节点path] value
    ④查询节点详细信息:ls -s /[节点path]
    tips:如需查看示例Ctrl+F跳转至对应内容处即可。

一、ZooKeeper简介

  • ZooKeeper主要功能:
    ①配置管理
    ②分布式锁
    ③集群管理

二、ZooKeeper数据结构&命令

1、数据结构

【ZooKeeper基础-数据结构、服务端/客户端常用命令】_常用命令


  • 节点ZNode,会保存自己的数据和节点信息;
  • 节点可以拥有子节点,同时也允许少量(1MB)数据存储在节点下;
  • 节点分4大类:
    ①持久节点(PERSISTENT)
    ②持久顺序节点(PERSISTENT_SEQUENTIAL)-s
    ③临时节点(EPHEMERAL)-e
    ④临时顺序节点(EPHEMERAL_SEQUENTIAL)-es

2、服务端常用命令
在Linux系统内解压ZooKeeper***.tar.gz资源包,进入目录后如下图:

【ZooKeeper基础-数据结构、服务端/客户端常用命令】_常用命令_02



此时进入bin目录,即可找到相应的服务端和客户端启动文件,zkServer.sh和zkCli.sh(如果是win系统,则对应.cmd文件)。

  • ①单机启动命令:./zkServer.sh start


./zkServer.sh start
  • ②状态查询命令:./zkServer.sh status


./zkServer.sh status
  • ③停止服务命令:./zkServer.sh stop


./zkServer.sh stop
  • ④重启服务命令:./zkServer.sh restart


./zkServer.sh restart

3、客户端常用命令
Ⅰ、基础常用命令:

  • ①连接至客户端命令:./zkCli.sh -server [ip地址]:[端口号-默认为2181]


./zkCli.sh -server localhost:2181
./zkCli.sh #连接本机可以省略后面内容
  • ②断开连接命令:quit


quit
  • ③查看帮助命令:help


help
  • ④显示指定目录下节点命令:ls [节点path]
    注意要层层递进去看对应节点内容,不能直接:ls [子节点名]


ls / #查看根目录下节点
ls /dubbo/metadata/providers
  • ⑤创建节点命令:create /[节点path] value
    节点value选项非必须,未设置则默认为null


create /example/node1 test01
  • ⑥获取节点值命令:get /[节点path]
    节点未设置值则显示null
    获取不存在的节点则报错:org.apache.zookeeper.KeeperException$NoNodeException


get /example/node1
#控制台显示 test01,如果未设置则显示 null
  • ⑦设置/更新节点值命令:set /[节点path] value
    未设置值则设置,已设置则更新


set /example/node1 test02
  • ⑧删除单个节点命令:delete /[节点path]
    如果该节点带有子节点则会提示Node not empty


delete /example/node1
  • ⑨删除带有子节点节点的命令:deleteall /[节点path]


deleteall /example

Ⅱ、重要常用命令:

  • ①创建临时节点命令:create -e /[节点path] value


create -e /temp/tnode tvalue
  • ②创建顺序节点命令:create -s /[节点path] value


create -s /temp/tnode1 tvalue
#Created /temp/tnode10000000001
  • ③创建临时顺序节点命令:create -es /[节点path] value


create -es /temp/tnode tvalue
  • ④查询节点详细信息命令:ls -s /[节点path]
    cZxid:节点被创建的事务ID
    ctime: 创建时间
    mZxid: 最后一次被更新的事务ID
    mtime: 修改时间
    pZxid:子节点列表最后一次被更新的事务ID
    cversion:子节点的版本号
    dataVersion:数据版本号
    aclVersion:权限版本号
    ephemeralOwner:用于临时节点,代表临时节点的事务ID,如果为持久节点则为0
    dataLength:节点存储的数据的长度
    numChildren:当前节点的子节点个数


ls -s /node
[app1, app2]cZxid = 0x7c #节点被创建的事务ID
ctime = Sun Nov 14 00:04:48 CST 2021 #创建时间
mZxid = 0x7c #最后一次被更新的事务ID
mtime = Sun Nov 14 00:04:48 CST 2021 #修改时间
pZxid = 0x115e6 #子节点列表最后一次被更新的事务ID
cversion = 8 #子节点的版本号
dataVersion = 0 #数据版本号
aclVersion = 0 #权限版本号
ephemeralOwner = 0x0 #用于临时节点,代表临时节点的事务ID,如果为持久节点则为0
dataLength = 0 #节点存储的数据的长度
numChildren = 2 #当前节点的子节点个数

三、总结

以上即为ZooKeeper基础相关的内容,感谢阅读。


以上是关于ZooKeeper基础-数据结构服务端/客户端常用命令的主要内容,如果未能解决你的问题,请参考以下文章

学习zookeeper—基础

zookeeper学习

ZooKeeper

MiddleWare ❀ Zookeeper基础概述

MiddleWare ❀ Zookeeper基础概述

MiddleWare ❀ Zookeeper基础概述