前提:我把zookeepee安装在了服务器/usr/local/java/zookeeper目录下

  • 常见命令

./zkServer.sh start:启动zookeeper服务器

./zkServer.sh restart:重启zookeeper服务器

./zkServer.sh status:查看当前zookeeper服务器状态,单机为standalone态

./zkServer.sh stop:停止zookeeper服务器

要执行以下命令,必须先启动zoookeeper服务器,然后在安装目录/zookeeper/bin下连接客户端到服务器:运行 ./zkCli.sh ,然后才可以执行以下命令。

ctrl+C:断开客户端-服务器的连接,心跳机制将停止,临时节点将被删除(经过一定时效后)


zookeeper初始默认节点层级:/zookeeper/quota

  • get /

    查看当前路径的信息
  • ls /

    查看当前路径下的所有节点,若为ls /路径节点A,则查看“路径节点A”下的所有子节点;zookeeper没有Linux那样进入某个节点层级的cd命令,想查看哪个路径节点下的所有节点,只能ls /路径节点;
  • stat /

    当前路径层级状态信息
  • ls2 /

    查看当前路径节点下的所有子节点,并显示当前路径层级状态信息,等价于ls+stat(简单地说,查看当前节点目录结构+目录状态信息)
  • get /zookeeper

    每个节点都是有数据的,获取根节点的信息,没有数据则为空,其结果如下:



    根节点的值

    cZxid:当前节点id

    numChildren:当前节点的子节点个数

    pZxid:子节点id

    dataLength:数据长度

    aclVersion:权限表版本号

    mZxid:修改后的id

    cversion:对当前节点的数据的更改次数

    dataVersion:节点值版本号,初始创建节点后为0

create命令

create /zookeeper/z1 afei:在 zookeeper路径节点下创建了节点名为z1,节点值为afei的一个子节点

create -e /zookeeper/tmp1 agan:在 zookeeper路径节点下创建了节点名为tmp1,节点值为agan的临时子节点,临时节点在【./zkServer.sh restart】服务重启后会消失

create -s /zookeeper/seq s1:在 zookeeper路径节点下创建了节点名为seq0000000000,节点值为s1的子节点,-s创建的是序列节点,create后什么都不加则创建的是普通节点;一般来说,序列节点的节点值相同,节点名=原始节点名+10个0,原始节点名是你手打的(此处为seq),下次再次运行相同的create -s命令,节点值相同,但节点名自增,变为seq0000000001

set命令

先create /zookeeper/z2 afei创建z2节点(此时dataVersion为0),再set /zookeeper/z2 apan设置新值(此时dataVersion为1),若set /zookeeper/z2 afei 0则报错,因为最新的dataVersion为1,应为set /zookeeper/z2 afei 1

OK,如果文章哪里有错误或不足,欢迎各位留言。
创作不易,各位的「三连」是二少创作的最大动力!我们下期见!