当前位置:   article > 正文

zookeeper 常用操作_zk删除节点下所有内容

zk删除节点下所有内容

1.zk 启停操作

  1. 1)启动zk
  2. ./zkServer.sh start zoo1.cfg
  3. #如果使用的是conf 目录下的默认配置文件 zoo.cfg,可以直接执行 ./zkServer.sh start 启动,否则报如下错误
  4. grep: /usr/local/zookeeper/bin/../conf/zoo.cfg: No such file or directory
  5. 2)停止zk
  6. ./zkServer.sh stop
  7. 3)显示zk状态
  8. ./zkServer.sh status
  9. /usr/bin/java
  10. ZooKeeper JMX enabled by default
  11. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  12. Client port found: 2181. Client address: localhost. Client SSL: false.
  13. Mode: standalone

2.连接ck

./zkCli.sh -server 127.0.0.1:2181

3.创建znode

  1. create [-s] [-e] [-c] [-t ttl] path [data] [acl]
  2. 3.1 创建持久节点
  3. 1)创建空节点
  4. create /test_shao
  5. 2)创建节点时同时指定节点内容
  6. create /test_shao 测试内容
  7. 3.2 创建顺序持久节点
  8. [zk: 127.0.0.1:2181(CONNECTED) 51] create -s /test_shao/test
  9. Created /test_shao/test0000000003
  10. [zk: 127.0.0.1:2181(CONNECTED) 52] create -s /test_shao/test
  11. Created /test_shao/test0000000004
  12. ##不加 -s 参数第二次创建会报已存在。-s 参数会默认给创建的节点加上序号
  13. 3.3 创建临时节点
  14. create -e /test_shao/test_e_node_xx 这是一个临时节点
  15. getEphemerals /test_shao
  16. #查看 /test_shao 节点下的所有临时节点
  17. 3.4 创建顺序临时节点
  18. [zk: 127.0.0.1:2181(CONNECTED) 54] create -es /test_shao/test
  19. Created /test_shao/test0000000005
  20. [zk: 127.0.0.1:2181(CONNECTED) 55] create -es /test_shao/test
  21. Created /test_shao/test0000000006

4.删除znode

  1. delete [-v version] path
  2. deleteall path [-b batch size]
  3. 1) delete 删除没有任何子节点的节点
  4. delete /test_shao
  5. #如果/test_shao 节点有子节点的话,报 Node not empty: /test_shao,如果要删除该节点及其子节点可以使用 deleteall
  6. 2) deleteall 删除节点及其子节点
  7. zk: 127.0.0.1:2181(CONNECTED) 19] ls -R /test_shao
  8. /test_shao
  9. /test_shao/test_node_xx
  10. [zk: 127.0.0.1:2181(CONNECTED) 20] delete /test_shao
  11. Node not empty: /test_shao

5. 设置或者修改节点内容

  1. set [-s] [-v version] path data
  2. set /test_shao/test_node_xx "修改后的内容"
  3. #如果节点本身没有内容,则给该节点添加相关内容,如果已有内容,则把之前的内容覆盖为当前内容
  4. #set 添加多行数据
  5. 如果 set 多行数据,数据使用双引号

6.ACL 权限控制

  1. 6.1 ACL特性
  2. 1)ZooKeeper 的权限控制是基于每个znode节点的,需要对每个节点设置权限
  3. 2)每个 znode 支持设置多种权限控制方案和多个权限
  4. 3)子节点不会继承父节点的权限,客户端无权访问某节点,但可能可以访问它的子节点
  5. 6.2 查看节点 ACL
  6. getAcl /test_shao/test_node_xx
  7. 'world,'anyone
  8. : cdrwa
  9. #这是所有节点的默认acl,表示所有连接到zookeeper 的客户端都能对该节点进行cdrwa操作(即拥有所有权限)
  10. 6.3 设置 world 权限模式
  11. 1)添加或者修改 world
  12. setAcl /test_shao/test_node_xx world:anyone:cdra
  13. [zk: localhost:2181(CONNECTED) 22] getAcl /test_shao/test_node_xx
  14. 'world,'anyone
  15. : cdra
  16. #当前设置会覆盖节点之前的权限(注意不要轻易去掉节点的a权限,否则所有人都无法对其进行权限设置)
  17. 2)取消 world 权限模式的所有权限
  18. setAcl /test_shao/test_node_xx world:anyone:
  19. 6.4 设置 ip 权限模式
  20. 1)指定ip地址
  21. [zk: localhost:2181(CONNECTED) 8] getAcl /test_shao/test_node_xx
  22. 'world,'anyone
  23. : cdrwa
  24. [zk: localhost:2181(CONNECTED) 9] setAcl /test_shao/test_node_xx ip:127.0.0.1:cdrwa
  25. [zk: localhost:2181(CONNECTED) 10] getAcl /test_shao/test_node_xx
  26. 'ip,'127.0.0.1
  27. : cdrwa
  28. ##设置了ip权限后,原来默认的 world 权限没有了
  29. 2)指定ip地址段
  30. setAcl /test_shao/test_node_xx ip:192.168.1.0/16:cdrwa
  31. 6.4 设置 auth 权限模式

7.查询节点内容及状态信息

  1. 1)查询节点内容
  2. get /test_shao/test_node_xx
  3. 修改后的内容
  4. 2)查询节点状态信息
  5. stat /test_shao/test_node_xx
  6. 2)查询节点内容及状态信息
  7. get -s /test_shao/test_node_xx
  8. 修改后的内容
  9. cZxid = 0x6 ##创建节点的事务 zxid
  10. ctime = Tue Jul 26 09:49:14 CST 2022 ##znode 被创建的毫秒数(从 1970 年开始)
  11. mZxid = 0x9 ##znode 最后更新的事务 zxid
  12. mtime = Tue Jul 26 09:57:36 CST 2022 ##znode 最后修改的毫秒数(从 1970 年开始)
  13. pZxid = 0x6 ##znode 最后更新的子节点 zxid
  14. cversion = 0 ##znode 子节点变化号(增删子节点会递增),znode 子节点修改次数
  15. dataVersion = 1 ##znode 数据变化号
  16. aclVersion = 0 ##znode 访问控制列表的变化号
  17. ephemeralOwner = 0x0 ##如果是临时节点,这个是 znode 拥有者的 session id。如果不是临时节点则是 0
  18. dataLength = 18 ##znode 的数据长度
  19. numChildren = 0 ##znode 子节点数量

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/626794
推荐阅读
相关标签
  

闽ICP备14008679号