文章目录:
2.5 create -e -s创建短暂节点(带序号、不带序号)
2.7 监听器原理、ls -w监听子节点 (路径变化)、get -w监听节点的值
2.8 delete删除节点、deleteall递归删除节点
1.命令行指令语法
2.指令实操
首先,我们参考上一篇文章中zookeeper集群的shell脚本,启动三台zookeeper服务器。
参考:https://blog.csdn.net/weixin_43823808/article/details/124633180
通过shell脚本一次性启动3台zookeeper的服务端,下面我们在其中的一台zookeeper中进行客户端连接。
这行命令后面的 -server zk101:2181, 连接成功之后,就会出现下图的效果,就是指定前面的连接名为当前服务器的主机名及端口号。
2.1 ls查看节点信息
下面使用 ls 命令查看当前zookeeper中的节点信息。
2.2 create创建永久节点(不带序号)
关于zookeeper中的节点类型:有持久(有序号、无序号)、短暂(有序号、无序号)。
下面使用 create 命令创建节点(创建节点时,要为其赋值)。
先演示创建永久节点、不带序号的。
2.3 get获取节点的值
2.4 create -s创建永久节点(带序号)
如果原来没有序号节点,则序号从0开始依次递增。如果原节点下已有两个节点,则再排序时从2开始,以此类推。
此时,我们退出zookeeper客户端,然后再次连接客户端,看看我们上面创建的永久节点是否还存在。(绝对存在!!!因为永久节点说的就是客户端和服务端断开连接之后,节点仍然存在,除非我们手动删除)
2.5 create -e -s创建短暂节点(带序号、不带序号)
针对短暂节点,我们再次退出客户端,而后重新连接进入,可想而知,这些短暂节点是不会存在了。
2.6 set设置修改节点的值
2.7 监听器原理、ls -w监听子节点 (路径变化)、get -w监听节点的值
客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、节点删除、子目录节点增加删除)时,ZooKeeper 会通知客户端。监听机制保证ZooKeeper保存的任何的数据的任何改变都能快速的响应到监听了该节点的应用程序。
首先,我们在zk102中看一下 sanguo 节点的值,之后使用 get -w 对它进行监听。
然后到 zk103 中使用set修改sanguo这个节点的值。
此时再回到 zk102 中看看如何?它此时就会监听到这个节点的这次改变,而当我们再到 zk103 中set这个节点的值时,zk102将不会再监听到。(如下三张图的演示,第一张对应zk102、第二张对应zk103、第三张对应zk102)
注意:在hadoop103再多次修改/sanguo的值,hadoop104上不会再收到监听。因为注册一次,只能监听一次。想再次监听,需要再次注册。
下面使用 ls -w 进行对节点下的子节点的监听,也就是路径发生变化,这里就会监听到。首先在zk102中对 sanguo 节点进行监听,然后到zk103中在sanguo节点下新建一个子结点 wuguo(节点值为 sunquan),然后回到 zk102 中就可以看到监听的这次改变了。