Zookeeper3.5.7版本——客户端命令行操作(节点类型)

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zookeeper3.5.7版本——客户端命令行操作(节点类型)相关的知识,希望对你有一定的参考价值。

目录

一、命令行语法

  • 命令行语法列表
    命令基本语法功能描述
    help
    显示所有操作命令
    ls path
    使用 ls 命令来查看当前 znode 的子节点 [可监听]
    -w 监听子节点变化
    -s 附加次级信息
    create
    普通创建
    -s 含有序列
    -e 临时(重启或者超时消失)
    get path
    获得节点的值 [可监听]
    -w 监听节点内容变化
    -s 附加次级信息
    set
    设置节点的具体值
    stat
    查看节点状态
    delete
    删除节点
    deleteall
    递归删除节点

二、节点类型

2.1、持久化目录节点

  • 持久(Persistent):客户端和服务器端断开连接后,创建的节点不删除(即该节点依旧存在)。

2.2、持久化顺序编号目录节点

  • 持久(Persistent)有序号:客户端与Zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号。
  • 创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护。
  • 注意:在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序。

2.3、临时目录节点

  • 短暂(Ephemeral):客户端与Zookeeper断开连接后,该节点被删除。

2.4、临时顺序编号目录节点

  • 短暂(Ephemeral)有序号:客户端与 Zookeeper 断开连接后 , 该 节 点 被 删 除 , 只是Zookeeper给该节点名称进行顺序编号。
  • 创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护。
  • 注意:在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序。

三、创建节点示例

3.1、创建永久节点(不带序号)

  • 使用 create 命令创建永久节点(不带序号)

    [zk: localhost:2181(CONNECTED) 0] create /user "zhangsan"
    

  • 断开客户端

    [zk: localhost:2181(CONNECTED) 2] quit
    

  • 再重新连接,使用 get -s 命令查看获得节点的值是否存在,由下图输出结果可知:客户端与Zookeeper断开连接后,该节点依旧存在。

    [zk: localhost:2181(CONNECTED) 0] get -s /user
    

3.2、创建永久节点( 带序号)

  • 使用 create -s 命令创建永久节点(带序号)

    [zk: localhost:2181(CONNECTED) 1] create -s /user lisi
    

  • 断开客户端

    [zk: localhost:2181(CONNECTED) 2] quit
    

  • 再重新连接,使用 get 命令查看获得节点的值是否存在并且是否有序号,由下图输出结果可知:客户端与Zookeeper断开连接后,该节点依旧存在并且有序号。

    [zk: localhost:2181(CONNECTED) 0] get /user0000000001
    

3.3、创建短暂节点( 不带序号)

  • 使用 create -e 命令创建建短暂节点( 不带序号)

    [zk: localhost:2181(CONNECTED) 0] create -e /role admin
    

  • 断开客户端

    [zk: localhost:2181(CONNECTED) 2] quit
    

  • 再重新连接,使用 get -s 命令查看获得节点的值是否存在,由下图输出结果可知:客户端与Zookeeper断开连接后,该节点被删除。

3.4、创建短暂节点(带序号)

  • 使用 create -e -s 命令创建短暂节点(带序号)

    [zk: localhost:2181(CONNECTED) 1] create -e -s /role administrator
    

  • 断开客户端

    [zk: localhost:2181(CONNECTED) 2] quit
    

  • 再重新连接,使用 get 命令查看获得节点的值是否存在并且是否有序号,由下图输出结果可知:客户端与Zookeeper断开连接后,该节点被删除。

    [zk: localhost:2181(CONNECTED) 2] get /role0000000004
    

3.5、修改节点数据值

  • 先查看创建的永久节点user的值为zhangsan

    [zk: localhost:2181(CONNECTED) 1] get /user
    

  • 使用 set 命令修改节点user的数据值为wangwu

    [zk: localhost:2181(CONNECTED) 2] set /user "wangwu"
    

  • 再次查看永久节点user的值,已修改为wangwu

    [zk: localhost:2181(CONNECTED) 3] get /user
    

以上是关于Zookeeper3.5.7版本——客户端命令行操作(节点类型)的主要内容,如果未能解决你的问题,请参考以下文章

Zookeeper3.5.7版本——客户端命令行操作(znode 节点数据信息)

Zookeeper3.5.7版本——客户端命令行操作(节点删除与查看)

Zookeeper3.5.7版本——客户端命令行操作(监听器原理)

Zookeeper3.5.7版本——客户端 API 操作(代码示例)

Zookeeper3.5.7版本——集群启动停止脚本

Zookeeper3.5.7版本——单机部署(linux环境-centos7)