前提:我把zookeepee安装在了服务器/usr/local/java/zookeeper目录下
- 常见命令
./zkServer.sh start:启动zookeeper服务器
./zkServer.sh restart:重启zookeeper服务器
./zkServer.sh status:查看当前zookeeper服务器状态,单机为standalone态
./zkServer.sh stop:停止zookeeper服务器
要执行以下命令,必须先启动zoookeeper服务器,然后在安装目录/zookeeper/bin下连接客户端到服务器:运行 ./zkCli.sh ,然后才可以执行以下命令。
ctrl+C:断开客户端-服务器的连接,心跳机制将停止,临时节点将被删除(经过一定时效后)
zookeeper初始默认节点层级:/zookeeper/quota
- get /
查看当前路径的信息 - ls /
查看当前路径下的所有节点,若为ls /路径节点A,则查看“路径节点A”下的所有子节点;zookeeper没有Linux那样进入某个节点层级的cd命令,想查看哪个路径节点下的所有节点,只能ls /路径节点; - stat /
当前路径层级状态信息 - ls2 /
查看当前路径节点下的所有子节点,并显示当前路径层级状态信息,等价于ls+stat(简单地说,查看当前节点目录结构+目录状态信息) - get /zookeeper
每个节点都是有数据的,获取根节点的信息,没有数据则为空,其结果如下:
【
根节点的值
cZxid:当前节点id
numChildren:当前节点的子节点个数
pZxid:子节点id
dataLength:数据长度
aclVersion:权限表版本号
mZxid:修改后的id
cversion:对当前节点的数据的更改次数
dataVersion:节点值版本号,初始创建节点后为0
】
create命令
create /zookeeper/z1 afei:在 zookeeper路径节点下创建了节点名为z1,节点值为afei的一个子节点
create -e /zookeeper/tmp1 agan:在 zookeeper路径节点下创建了节点名为tmp1,节点值为agan的临时子节点,临时节点在【./zkServer.sh restart】服务重启后会消失
create -s /zookeeper/seq s1:在 zookeeper路径节点下创建了节点名为seq0000000000,节点值为s1的子节点,-s创建的是序列节点,create后什么都不加则创建的是普通节点;一般来说,序列节点的节点值相同,节点名=原始节点名+10个0,原始节点名是你手打的(此处为seq),下次再次运行相同的create -s命令,节点值相同,但节点名自增,变为seq0000000001
set命令
先create /zookeeper/z2 afei创建z2节点(此时dataVersion为0),再set /zookeeper/z2 apan设置新值(此时dataVersion为1),若set /zookeeper/z2 afei 0则报错,因为最新的dataVersion为1,应为set /zookeeper/z2 afei 1
OK,如果文章哪里有错误或不足,欢迎各位留言。
创作不易,各位的「三连」是二少创作的最大动力!我们下期见!