第4节 :ZooKeeper客户端操作

1.Zookeeper客户端命令行操作:

1.1.命令行语法:

  • 1.语法解释如下:
命令基本语法功能描述
help显示所有操作命令
ls path使用 ls 命令来查看当前 znode 的子节点 [可监听]、-w 监听子节点变化、-s 附加次级信息
create普通创建,-s 含有序列、-e 临时(重启或者超时消失)
get path获得节点的值 [可监听],-w 监听节点内容变化、-s 附加次级信息
set设置节点的具体值
stat查看节点状态
delete删除节点
deleteall递归删除节点

1.2.命令行操作:

a.启动客户端:

  • 1.进入opt/module/zookeeper-3.5.7/目录,执行:bin/zkCli.sh -server hadoop103:2181命令,打开客户端:
    在这里插入图片描述
  • 2.查看当前节点的详细数据:命令ls /ls -s /,表示的是查看当前node中所包含的内容
    在这里插入图片描述
  • 1)czxid:创建节点的事务 zxid
    • 每次修改 ZooKeeper 状态都会产生一个 ZooKeeper 事务 ID。
    • 事务 ID 是 ZooKeeper 中所有修改总的次序。
    • 每次修改都有唯一的 zxid,如果 zxid1 小于 zxid2,那么 zxid1 在 zxid2 之前发生。
  • 2)ctime:znode 被创建的毫秒数(从 1970 年开始)
  • 3)mzxid:znode 最后更新的事务 zxid
  • 4)mtime:znode 最后修改的毫秒数(从 1970 年开始)
  • 5)pZxid:znode 最后更新的子节点 zxid
  • 6)cversion:znode 子节点变化号,znode 子节点修改次数
  • 7)dataversion:znode 数据变化号
  • 8)aclVersion:znode 访问控制列表的变化号
  • 9)ephemeralOwner:如果是临时节点,这个是 znode 拥有者的 session id。如果不是临时节点则是 0。
  • 10)dataLength:znode 的数据长度
  • 11)numChildren:znode 子节点数量

b.节点类型(短暂、持久,有序号,无序号):

  • 持久(Persistent):客户端和服务器端断开连接后,创建的节点不删除
  • 短暂(Ephemeral):客户端和服务器端断开连接后,创建的节点自己删除
    在这里插入图片描述
b1.分别创建2个普通节点(永久 + 不带序号):
  • 1.创建2个永久节点:
    在这里插入图片描述
  • 2.获取刚刚创建的节点的值:
    在这里插入图片描述
b2.创建带序号的永久节点:
  • 1.创建:先创建一个普通的根节点/sanguo/weiguo:
    在这里插入图片描述
  • 2.创建带序号的节点:如果原来没有序号节点,序号从 0 开始依次递增。如果原节点下已有 2 个节点,则再排序时从 2 开始,以此类推。
    在这里插入图片描述
b3. 创建短暂节点(短暂节点 + 不带序号 or 带序号)
  • 1.创建短暂的不带序号的节点
    在这里插入图片描述
  • 2.创建短暂的带序号的节点
    在这里插入图片描述
  • 3.在当前客户端是能查看到的
    在这里插入图片描述
  • 4.退出当前客户端然后再重启客户端:
    在这里插入图片描述
  • 5.再次启动客户端,查看根目录下短暂节点已经删除
    在这里插入图片描述
  • 6.查看节点:再次查看根目录下短暂节点已经删除
    在这里插入图片描述
b4.修改节点数据值:

在这里插入图片描述


1.3.监听器原理:

  • 1.客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、节点删除、子目录节点增加删除)时,ZooKeeper 会通知客户端;监听机制保证 ZooKeeper 保存的任何的数据的任何改变都能快速的响应到监听了该节点的应用程序

a.监听器原理介绍:

在这里插入图片描述

b.监听节点的值变化:

  • 1.分别启动 hadoop103和 hadoop104的客户端;
  • 2.先查看hadoop104上的/sanguo这个节点:get -s /sanguo
  • 3.然后通过hadoop104 客户端:注册监听/sanguo 节点数据变化,其命令是:get -w /sanguo
  • 4.再然后去hadoop103客户端上去修改/sanguo 节点的数据:set /sanguo "xisi"
  • 5.观察 hadoop104 主机收到数据变化的监听:
    在这里插入图片描述

注意:在hadoop103再多次修改/sanguo的值,hadoop104上不会再收到监听。因为注册一次,只能监听一次。想再次监听,需要再次注册。

c.监听节点的子节点变化(路径变化)

  • 1.在 hadoop104 主机上注册监听/sanguo 节点的子节点变化:ls -w /sanguo
  • 2.在 hadoop103 主机/sanguo 节点上创建子节点: create /sanguo/jin "simayi"
  • 3.观察 hadoop104 主机收到子节点变化的监听
    在这里插入图片描述

注意:节点的路径变化,也是注册一次,生效一次。想多次生效,就需要多次注册


d.节点删除与查看:

在这里插入图片描述


2.Zookeeper客户端API操作:

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值