第2关:子节点创建、列出、删除

  • Post author:
  • Post category:其他


子节点创建、列出

首先,需要启动服务器,并使用

zkCli.sh

连接服务器,进入客户端命令行界面(如第一关所述)。

创建子节点类似于创建新的节点,子节点也具有四种类型的节点。唯一的区别是:子节点的路径也将具有

父路径

例如,可以使用以下命令创建路径为

/FirstZnode/Child1

,值为

firstchildren

的节点(如图所示):

create /zoo1/Child1 "firstchildren"

列出

zoo1

目录下所有子节点,使用以下命令(如图所示):

ls /zoo1

子节点与父节点一样,同样拥有四种类型的节点,再创建子节点时使用


-s



-e


参数即可。



注意


:当创建ZooKeeper子节点时,必须要确保父节点已经存在(即先创建父节点,再创建子节点),否则节点创建将会失败。例如,创建路径为

/zoo2/Child1

,值为

firstchildren

的节点,其中父节点

/zoo2

不存在,使用以下命令(如图所示):

create /zoo2/Child1 "firstchildren"

子节点删除

子节点删除与第一关删除节点使用相同命令

delete

,区别是在于子节点的路径也将具有

父路径

。例如,删除

/zoo1

节点下的

Child1

节点,使用以下命令(如图所示):

delete /zoo1/Child1



注意:


即使父节点下没有任何的子节点,当前父节点仍然存在,不会被删除。只有进行删除操作才会删除节点(除临时节点会随会话结束自动删除)。

如果需要删除

含有子节点

的父节点,不能使用

delete

命令,而是使用

rmr

命令。

rmr

命令会迭代删除父节点下

所有子节点

。例如

/zoo1

下含有子节点

/Child1

,若要删除

/zoo1

,使用以下命令(如图所示):

rmr /zoo1

编程要求

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

  • 开启ZooKeeper服务器。

  • 使用客户端(

    zkCli.sh

    )连接服务器(

    IP:127.0.0.1

    ,端口号:

    2181

    )。

zkServer.sh start

zkCli.sh -server 127.0.0.1:2181
  • 创建

    /myNode

    持久节点(节点数据为空,可利用

    ls

    命令检查是否存在)。

create /myNode ""
ls /

  • 创建

    /myNodeTmp

    持久节点(节点数据为空)。

create /myNodeTmp ""
ls /

  • 创建以

    /myNodeTmp

    为父节点的持久节点

    /firstChildTmp

    (节点数据为空)

 create /myNodeTmp/firstChildTmp "" 
  • 创建以

    /myNode

    为父节点的临时节点

    /firstChild

    (节点数据为空)。

create -e /myNode/firstChild "" 
  • 创建以

    /myNode

    为父节点的持久节点

    /secondChild

    (节点数据为空)。

create  /myNode/secondChild "" 
  • 删除

    /myNodeTmp

    节点及其所有子节点。

rmr /myNodeTmp
  • 断开客服端与服务器连接。

quit



版权声明:本文为qq_61604164原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。