当前位置:   article > 正文

第1关:创建/删除节点_删除zk上的节点数据

删除zk上的节点数据

节点类型

ZooKeeper数据模型中的数据单元,称为数据节点(znode)。

ZooKeeper的数据模型是内存中的一个节点数,由斜杠(/)进行分割的路径,就是一个节点,每个节点除了保存自己的数据内容,还保存一系列属性信息。

ZooKeeper共有四种类型的节点:持久persistent)节点、临时ephemeral)节点、持久有序persistent-sequential)节点和临时有序ephemeral-sequential)节点。

持久节点和临时节点

  • 持久persistent)节点是指一旦这个节点创建成功,除非主动进行节点的移除操作(delete),否则节点会一直保存在ZooKeeper上。

  • 临时ephemeral)节点的生命周期是跟客户端的会话相关联的,一旦客户端会话失效,这个会话上的所有临时节点都会被自动移除。

有序节点

一个节点还可以设置为有序(sequential)节点。有序节点被分配唯一一个单调递增的整数。当创建有序节点时,一个序号会被追加到路径之后。例如,客户端创建了一个有序的节点,其路径为/zoo/task,那么ZooKeeper将分配一个序号,如1,并将这个数字追加到路径之后,最后该节点为/zoo/task1

创建/删除节点

首先,需要启动服务器,并使用zkCli.sh连接服务器,进入客户端命令行界面。使用以下命令(进入如图界面):

  1. zkServer.sh start
  2. zkCli.sh -server 127.0.0.1:2181

 

客户端命令行操作方法与shell命令行界面类似。

先列出根(root)的所有节点。使用以下命令(如下图所示):

ls /

 

可以看到,节点树中只有一个根节点/zookeeper节点。

使用create命令创建节点。例如,创建名称为/zoo1的节点,再使用ls命令查看是否创建成功。使用以下命令(如图所示):

  1. create /zoo1 ""
  2. ls /

 

以上命令创建的节点为持久节点,还可以使用不同参数,创建临时-e)节点和有序-s)节点。例如,创建临时有序节点/zoo2并列出节点,使用以下命令(如图所示):

  1. create -s -e /zoo2 ""
  2. ls /

 

删除节点使用delete命令。例如,删除/zoo1节点并列出节点,使用以下命令(如图所示):

  1. delete /zoo1
  2. ls /

 

注意: 创建节点/zoo1/zoo2时,指定了一个空字符串(""),说明当前节点不保存数据。然而,该接口中的这个参数可以保存任何字符串到节点中,例如,可以替换""workers。但是,如果创建节点时,不指定一个空字符串(""),那么当前节点不会创建成功,且客户端不会有任何报错信息。例如,使用以下错误命令创建/zoo3(如图所示):

create /zoo3

 

上图中表明/zoo3节点创建失败。所以,创建节点时,如果节点没有数据,也要指定一个空字符串""

编程要求

本关任务是使用命令行,进行以下操作:

  • 开启ZooKeeper服务器。

  • 使用客户端(zkCli.sh)连接客户端(IP:127.0.0.1,端口号:2181)。

  • 创建/enode临时节点(节点数据为空)。

  • 创建/spnode持久节点(节点数据为空)。

  • 断开客户端(zkCli.sh)与客服端连接。

  1. zkServer.sh start
  2. zkCli.sh -server 127.0.0.1:2181
  3. create -e /enode ""
  4. create /spnode ""
  5. quit

 

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

闽ICP备14008679号