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


    子节点创建、列出

    首先,需要启动服务器,并使用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)。

    1. zkServer.sh start
    2. zkCli.sh -server 127.0.0.1:2181
    • 创建/myNode持久节点(节点数据为空,可利用ls命令检查是否存在)。

    1. create /myNode ""
    2. ls /

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

    1. create /myNodeTmp ""
    2. ls /

     

    • 创建以/myNodeTmp为父节点的持久节点/firstChildTmp(节点数据为空)

     create /myNodeTmp/firstChildTmp "" 
    • 创建以/myNode为父节点的临时节点/firstChild(节点数据为空)。

    create -e /myNode/firstChild "" 
    • 创建以/myNode为父节点的持久节点/secondChild(节点数据为空)。

    create  /myNode/secondChild "" 
    • 删除/myNodeTmp节点及其所有子节点。

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

    quit

  • 相关阅读:
    力扣(203.1)补9.2
    1397:简单算术表达式求值
    知乎日报第四周总结
    下厨房网站月度最佳栏目菜谱数据获取及分析
    统计射击比赛成绩(JavaScript)
    openGauss 列存表PSort索引
    Cookie与Session的区别
    (2022|ECCV,文本图像视频,3D 邻域注意,3D 稀疏注意)NÜWA:神经视觉世界创建的视觉合成预训练
    openGauss学习笔记-87 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用简单概述
    2022年最富有的科技亿万富翁前二十名,中国占3位
  • 原文地址:https://blog.csdn.net/qq_61604164/article/details/127898619