zoukankan      html  css  js  c++  java
  • zookeepercli

    简介

    ZooKeeper命令行界面(CLI)用于与ZooKeeper进行交互以用于开发目的。它对于调试很有用。

    要执行ZooKeeper CLI操作,首先打开你的ZooKeeper服务器(“bin / zkServer.sh start”),然后打开ZooKeeper客户端(“bin / zkCli.sh”)。一旦客户端启动,可以执行以下操作 -

    • 创建znode
    • 获取数据
    • 观察znode的变化
    • 设置数据
    • 创建znode的子节点
    • 列出znode的子节点
    • 检查状态
    • 删除/删除znode

    现在让我们用一个例子逐个看看上面的命令。

    创建Znodes

    创建具有给定路径的znode。默认情况下,所有znode都是持久的。

    语法

    create /path /data

    Example

    create /FirstZnode “Myfirstzookeeper-app”

    输出

    [zk: localhost:2181(CONNECTED) 0] create /FirstZnode “Myfirstzookeeper-app”
    Created /FirstZnode

     

    获取数据

    它返回指定znode及关联数据。包含上次修改数据的时间,修改的位置以及有关数据的信息。

    语法

    get /path 

    Example

    get /FirstZnode

    输出

    [zk: localhost:2181(CONNECTED) 1] get /FirstZnode
    “Myfirstzookeeper-app”
    cZxid = 0x7f
    ctime = Mon Feb 27 16:15:47 HKT 2017
    mZxid = 0x7f
    mtime = Mon Feb 27 16:15:47 HKT 2017
    pZxid = 0x7f
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 22
    numChildren = 0
    

    Watch

    当指定的znode或znode的子数据更改时,watch会显示通知。只能在get命令中设置watch

    语法

    get /path [watch] 1

    Example

    get /FirstZnode 1

    输出

    [zk: localhost:2181(CONNECTED) 1] get /FirstZnode 1
    “Myfirstzookeeper-app”
    cZxid = 0x7f
    ctime = Mon Feb 27 16:15:47 HKT 2017
    mZxid = 0x7f
    mtime = Mon Feb 27 16:15:47 HKT 2017
    pZxid = 0x7f
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 22
    numChildren = 0

    输出类似于正常的get命令,但它会在后台等待znode更改。

    设置数据

    设置指定znode的数据。完成此设置操作后,可以使用get CLI命令检查数据

    语法

    set /path /data

    Example

    set /SecondZnode Data-updated

    输出

    [zk: localhost:2181(CONNECTED) 1] get /SecondZnode “Data-updated”
    cZxid = 0x82
    ctime = Mon Feb 27 16:15:47 HKT 2017
    mZxid = 0x83
    mtime = Mon Feb 27 16:15:47 HKT 2017
    pZxid = 0x82
    cversion = 0
    dataVersion = 1
    aclVersion = 0
    ephemeralOwner = 0x15018b47db00000
    dataLength = 14
    numChildren = 0
    

    如果你在get命令中指定了watch选项(如在上一个命令中),那么输出将类似于如下所示 -

    输出

    [zk: localhost:2181(CONNECTED) 1] get /FirstZnode “Mysecondzookeeper-app”
    
    WATCHER: :
    
    WatchedEvent state:SyncConnected type:NodeDataChanged path:/FirstZnode
    cZxid = 0x7f
    ctime = Mon Feb 27 16:15:47 HKT 2017
    mZxid = 0x84
    mtime = Mon Feb 27 16:15:47 HKT 2017
    pZxid = 0x7f
    cversion = 0
    dataVersion = 1
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 23
    numChildren = 0
    

    创建子节点

    创建子节点类似于创建新的znode。唯一的区别是子节点znode的路径也将具有父路径。

    语法

    create /parent/path/subnode/path /data

    Example

    create /FirstZnode/Child1 firstchildren

    输出

    [zk: localhost:2181(CONNECTED) 16] create /FirstZnode/Child1 “firstchildren”
    created /FirstZnode/Child1
    [zk: localhost:2181(CONNECTED) 17] create /FirstZnode/Child2 “secondchildren”
    created /FirstZnode/Child2
    

      

    列出子节点

    此命令用于列出和显示znode 节点。

    语法

    ls /path

    Example

    ls /MyFirstZnode

    输出

    [zk: localhost:2181(CONNECTED) 2] ls /MyFirstZnode
    [mysecondsubnode, myfirstsubnode]
    

      

    检查状态

    状态描述指定znode的元数据。它包含详细信息,如时间戳,版本号,ACL,数据长度和子节点znode。

    语法

    stat /path

    Example

    stat /FirstZnode

    输出

    [zk: localhost:2181(CONNECTED) 1] stat /FirstZnode
    cZxid = 0x7f
    ctime = Mon Feb 27 16:15:47 HKT 2017
    mZxid = 0x7f
    mtime = Mon Feb 27 16:15:47 HKT 2017
    pZxid = 0x7f
    cversion = 0
    dataVersion = 1
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 23
    numChildren = 0
    

      

    删除Znode

    删除指定的znode并递归地删除其所有子节点。这将发生只有这样的znode可用。

    语法

    rmr /path

    Example

    rmr /FirstZnode

    输出

    [zk: localhost:2181(CONNECTED) 10] rmr /FirstZnode
    [zk: localhost:2181(CONNECTED) 11] get /FirstZnode
    Node does not exist: /FirstZnode
    

    Delete (delete /path) 命令类似于remove命令,只适用于没有子节点的znode。

  • 相关阅读:
    第一章——第二节 启动模式
    Android 展示键盘时候布局被修改的问题
    JAVA混型和潜在类型机制
    第一章——Activity的生命周期
    android 程序中禁止屏幕旋转和重启Activity
    项目知识—九
    项目知识——八
    项目知识——七
    Drawable复习—第六章
    项目知识(六)
  • 原文地址:https://www.cnblogs.com/wade-xu/p/6475413.html
Copyright © 2011-2022 走看看