ZooKeeper客户端命令行操作


一、客户端启动

1、正常启动
在这里插入图片描述
启动之后发现:
在这里插入图片描述
这个客户端是localhost:2181,本地的客户端。
要变成zookeeper101的客户端需要输入如下命令:
在这里插入图片描述
现在发现前缀已经变成了:
在这里插入图片描述

二、一些Zookeeper节点的相关参数

在这里插入图片描述
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子节点数量。

三、节点类型(持久/短暂/有序号/无序号)

持久(Persistent):客户端和服务器端断开连接之后,创建的节点不删除;
短暂(Ephemeral):客户端和服务器端断开连接后,创建的节点自己删除

在这里插入图片描述
1)持久化目录节点:客户端与Zookeeper断开连接之后,该节点依旧存在(如上图的znode1);
2)持久化顺序编号目录节点:客户端与Zookeeper断开连接之后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号(如上图的znode2_001);
3)临时目录节点:客户端与Zookeeper断开连接后,该节点被删除(如上图的znode3);
4)临时顺序编号目录节点:
客户端与Zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号(如上图的znode4_001)。

说明:创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护。
注意:在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序。

四、节点操作

1、分别创建2个普通节点(永久节点+不带序号)

可以看到当前只有一个zookeeper目录:
在这里插入图片描述
1)创建一个名为sanguo的目录,同时给目录一些值:
在这里插入图片描述
可以看到已经创建成功。
2)在sanguo目录在再创建一个shuguo目录,同时给目录一些值:
在这里插入图片描述
在这里插入图片描述
3)获取节点对应的值:
在这里插入图片描述
在这里插入图片描述
以上是创建永久节点不带序号的。
下面创建永久节点带序号的:
1)先创建一个永久节点不带序号的:
在这里插入图片描述
2)再创建一个永久节点带序号的:
在这里插入图片描述
这时重复执行1)命令得到:
在这里插入图片描述
可以看到重复执行,编号会自动增加1.
重复执行2)命令得到:
在这里插入图片描述
不可以重复执行,并说明节点已经存在。
这是永久节点带序号和不带序号的一个区别。

退出客户端观察节点是否还存在:
退出客户端:
在这里插入图片描述
再登录客户端:
在这里插入图片描述
查看节点信息是否还存在:
在这里插入图片描述
可以看到节点还存在,证明是永久节点。

2、创建临时节点(不带序号临时节点+带序号临时节点)

1)创建一个不带序号的临时节点wuguo:
在这里插入图片描述
2)创建一个带序号的临时节点wuguo:
在这里插入图片描述
3)断开节点,再连接服务器观察节点是否还存在:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到,带序号和不带序号的wuguo节点都不存在了。

3、修改节点数据的值

set命令:
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐