ZooKeeper shell操作教程

230次阅读
没有评论

一、ZooKeeper shell操作

1.ls命令

连接zookeeper服务

[hadoop@master ~]$ zkCli.sh -server localhost:2181

语法:ls [path]

跟Linux命令语法一致,在ZooKeeper中查看该节点下某一路径下目录列表。

[zk: localhost:2181(CONNECTED) 0] ls /

[zookeeper,yarn-leader-election,hadoop-ha,hbase,rmstore]

[zk: localhost:2181(CONNECTED) 1] ls /zookeeper

[quota]

[zk: localhost:2181(CONNECTED) 2] ls /zookeeper/quota

[]

2. stat命令

语法:stat [path]

显示节点的详细信息。

[zk: localhost:2181(CONNECTED) 3] stat /

cZxid = 0x0

ctime = Thu Jan 01 08:00:00 CST 1970

mZxid = 0x0

mtime = Thu Jan 01 08:00:00 CST 1970

pZxid = 0x300000075

cversion = 3

dataVersion = 0

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 0

numChildren = 5

cZxid:代表zookeeper创建后为这个节点所分配的ID号。

ctime:代表该节点创建时间。

mZxid:代表修改节点后分配的一个新ID。节点每次修改mZxid都会以递增的形式增加。

mtime:代表最后一次被修改的时间。 

pZxid:代表节点的子节点的最后被修改生成的ID号。

cversion:节点下所有子节点被修改的版本号,表示节点被修改的次数。 

dataVersion:节点修改的版本号,代表节点被修改的次数,初始值为0,每一次修改一

值加1。

aclVersion:代表一个权限模型 acl代表权限 当节点权限发生变化的时候 权限的版本

自动累加1

ephemeralOwner:如果节点为临时节点,表示节点拥有者的会话ID,否则为0.

dataLength:代表的是元数据长度

numChildren:节点下子节点的数量。

3.ls2 命令

语法:ls2 [path]

相当于ls + stat。显示当前目录与详细信息。

[zk: master:2181(CONNECTED) 5] ls2 /

[zookeeper, yarn-leader-election, hadoop-ha, hbase, rmstore]

cZxid = 0x0

ctime = Thu Jan 01 08:00:00 CST 1970

mZxid = 0x0

mtime = Thu Jan 01 08:00:00 CST 1970

pZxid = 0x300000075

cversion = 3

dataVersion = 0

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 0

numChildren = 5

4.create创建节点

语法:create [-s] [-e] [path]<node_name> <data>

创建节点,本实验在根目录下创建zknode1节点,元数据为字符串node1_data。也可以在节点下创建子节点。[-s]表示顺序创建,[-e]表示创建的是临时节点。

[zk: master:2181(CONNECTED) 6] create /zknode1 “node1_data”

Created /zknode1

[zk: master:2181(CONNECTED) 7] create /zknode1/node1 “data”      

Created /zknode1/node1

5.get命令

语法:get [path]<node_name>

获取当前的目录(节点)的数据信息。

[zk: master:2181(CONNECTED) 9] get /zknode1  

node1_data

cZxid = 0x100000003

ctime = Wed Jul 05 05:15:43 CST 2017

mZxid = 0x100000003

mtime = Wed Jul 05 05:15:43 CST 2017

pZxid = 0x100000004

cversion = 1

dataVersion = 0

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 10

numChildren = 1

6.set命令

语法:set [path]<node_name> <data>

修改节点的元数据。本实验元数据修改为”zknode1_data”,get查看后dataVersion加1,数据的长度也发生了变化。

[zk: master:2181(CONNECTED) 10] set /zknode1 “zknode1_data”

cZxid = 0x100000003

ctime = Wed Jul 05 05:15:43 CST 2017

mZxid = 0x100000005

mtime = Wed Jul 05 05:37:09 CST 2017

pZxid = 0x100000004

cversion = 1

dataVersion = 1

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 12

numChildren = 1

[zk: master:2181(CONNECTED) 11] get /zknode1               

zknode1_data

cZxid = 0x100000003

ctime = Wed Jul 05 05:15:43 CST 2017

mZxid = 0x100000005

mtime = Wed Jul 05 05:37:09 CST 2017

pZxid = 0x100000004

cversion = 1

dataVersion = 1

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 12

numChildren = 1

7.删除节点

语法:delete [path]<node_name>

删除节点要求该节点下没有子节点。

[zk: master:2181(CONNECTED) 12] delete /zknode1

Node not empty: /zknode1

[zk: master:2181(CONNECTED) 13] delete /zknode1/node1

[zk: master:2181(CONNECTED) 14] delete /zknode1

到点睡觉了
版权声明:本站原创文章,由 到点睡觉了2022-01-09发表,共计2601字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)