Zookeeper(二)-- 客户端操作命令
一、前提
开启zookeeper服务端,用客户端连接。输入help,查看可使用命令,如下图所示:
操作无非就是增删改查等。
二、增加
格式: create[-s][-e]path data acl
path:即路径,由于zookeeper是一个树形结构,所以创建的时候就是一个Path节点,就是路径
data:节点对应的值,保存的少量数据
[-s]有序节点 [-e]临时节点
注:节点临时有序节点、临时节点、持久有序节点 和 持久节点。
1.创建节点
eg: create/node_11
2.创建有序的持久化节点
eg: create-s/node_1/node_1_12
3.创建临时节点(基于会话级别)
eg: create-e/node_1/node_1_23
三、查询
getpath[watch]
eg: get/node_1
四、修改
setpath data[version]
eg: set/node_1 abc
五、删除
deletepath[vsersion]
eg: delete/node_1
发现报:Node not empty:/node1,说明node1下面存在节点,不可以删除。
所以,删除其中一个子节点:
delete/node_1/node_1_1
查看node_1 下面的节点:
ls/node_1
六、查看
ls 和 ls2 和 stat
s /node_1
ls2 /node_1
stat /node_1
ls2和stat命令输出的信息更加详细,结果一样。
七、给节点设置限制
setquota-n|-b val path
-n的时候,val表示创建的子节点数量,path为指定的节点
-b的时候,val表示创建节点的数据量,path为指定的节点
1.首先查看/node1下子节点的数量,使用 : ls /node1,发现/node_1下面有两个子节点:
2.这里我们设置/node_1下面允许有3个子节点
setquota-n3/node_1
3.我们继续添加一个子节点
create/node_1/node_1_1 aaa
查看/node_1下面的节点数,有3个,正确的。
4.再继续添加一个子节点
create/node_1/node_1_4 bbb
发现也是可以创建的,虽然设置了限制,但是仍然是可以创建成功。同时,会bin/zookeeper.out 输出警告信息。这个时候我们看下日志,
命令: tail-f zookeeper.out
。
八、给节点删除限制(很少用到)
delquota[-n|-b]path
eg: delquota-n/node_1
,使用这个就删除了刚刚在node_1上加上的限制
通过 get/node_1/node_1_4
,可以看到 count=-1,则说明没有限制
九、查看事务日志
退出客户端,进入到 cd /usr/java/zookeeper/server3/data/log/version-2,查看事务日志:
java -cp ../../../zookeeper-3.4.9/zookeeper-3.4.9.jar:../../../zookeeper-3.4.9/lib/slf4j-api-1.6.1.jar org.apache.zookeeper.server.LogFormatter log.200000001