3.7 客户端命令行操作

我们可以使用客户端去操作 znode. (其实就是远程操作 Zookeeper Server)

注意:

  • znode都是存储在 Zookeeper 服务器上的.


1. 启动客户端并连接到 Zookeeper 服务器

zkCli.sh   # 默认连接到当前的Zookeeper服务器

# zkCli.sh -server hadoop201:2181 # 连接到指定的Zookeeper服务器


2. 显示所有操作命令

help


3. 查看根znode中所包含的内容

ls /


4. 查看根znode中节点数据更新次数等数据

ls2 /

stat结构说明: cZxid:这是导致创建znode更改的事务ID。 mZxid:这是最后修改znode更改的事务ID。 pZxid:这是用于添加或删除子节点的znode更改的事务ID。 ctime:表示从1970-01-01T00:00:00Z开始以毫秒为单位的znode创建时间。 mtime:表示从1970-01-01T00:00:00Z开始以毫秒为单位的znode最近修改时间。 dataVersion:表示对该znode的数据所做的更改次数。 cversion:这表示对此znode的子节点进行的更改次数。 aclVersion:表示对此znode的ACL进行更改的次数。 ephemeralOwner:如果znode是ephemeral类型节点,则这是znode所有者的 session ID。 如果znode不是ephemeral节点,则该字段设置为零。 dataLength:这是znode数据字段的长度。 numChildren:这表示znode的子节点的数量。


5. 创建普通节点(持久节点)

creat /app1 "hello app1"

说明:

  • app1是节点名
  • hello app1是这个节点中存储的数据(上限大小是1M)

create /app1/server201 "192.168.1.201"

6. 获得节点的值

get /app1


7. 创建短暂节点

create -e /app-temp "temp data ...."

注意:

  • 只要创建临时节点的会话(session)没有关闭, 不仅仅当前客户端可以看访问到临时节点, 使用其他客户端也是可以看到这个临时节点.
  • 临时节点不能有子节点
  • 关闭会话之后, 临时节点自动被删除

8. 创建带序号的节点

  • 先创建一个比普通节点 app2
    create /app2 "my name is app2"
    
  • app2内创建带序号的节点
    create -s /app2/aa "123455679"
    

说明:

  • 没创建一个带序号的节点, 序号都会自增1.
  • 序号的含义表示这个带序号的节点是他父节点的第几个节点.

    创建/app3, /app3/a, -e /app3/b
    然后创建-s /app3/cc, 则序号从2开始.


9. 修改节点中存储的数据

set /app1 "new data"

10. 监听节点中数据的变化

  • 201主机上的客户端监听:

    get /app1 watch
    

  • 203主机上的客户端修改数据

  • 201主机的客户端收到的数据变化的通知


11. 监听节点结构的变化

  • 201主机上的客户端监听:
    ls /app1 watch
    
  • 203主机上的客户端给/app1添加新的节点
  • 201主机的客户端收到的数据变化的通知

12. 删除空节点

delete /app1/server201

注意:

  • delte只能删除空节点(没有子节点的节点)

  • 不能删除非空节点


13. 递归的删除节点

递归的方式删除节点, 空节点和非空节点都可以删除.

rmr /app1


14. 查看某个节点的状态

stat /app2

Copyright © 尚硅谷大数据 & 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-11-08 08:23:33

results matching ""

    No results matching ""