zookeeper常用命令行操作
通过 zkCli.sh 来打开zk客户端:
[root@study-01 ~]# zkCli.sh
[zk: localhost:2181(CONNECTED) 0]
ls 与 ls2 命令:
[zk: localhost:2181(CONNECTED) 0] ls / # ls命令用于查看节点,类似于Linux中的查看目录
[zookeeper]
[zk: localhost:2181(CONNECTED) 1] ls2 / # ls2命令用于查看节点以及该节点状态的详细信息
[zookeeper]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1
[zk: localhost:2181(CONNECTED) 2]
get 与 stat命令:
[zk: localhost:2181(CONNECTED) 2] stat / # stat命令用于查看节点状态的详细信息
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1
[zk: localhost:2181(CONNECTED) 3] get / # get命令用于查看节点的数据以及节点状态的详细信息,由于没有数据所以这里显示的是空行
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1
[zk: localhost:2181(CONNECTED) 4]
关于节点状态属性信息的描述,如下表:
属性
描述
cZxid
节点的创建时间所对应的Zxid格式时间戳
ctime
节点的创建时间
mZxid
节点最后的修改时间所对应的Zxid格式时间戳
mtime
节点最后的的修改时间
pZxid
该节点的子节点(或该节点)的最近一次 创建 / 删除 所对应的Zxid格式时间戳
cversion
节点所拥有的子节点被修改的版本号,删除或添加子节点,版本号会自增
dataVersion
当前节点数据的版本号,数据写入操作,版本号会递增
aclVersion
节点ACL权限版本,权限写入操作,版本号会递增
ephemeralOwner
临时节点创建时的事务id,如果节点是永久节点,则它的值为0
dataLength
节点数据长度(单位:byte),中文占3个byte
numChildren
子节点数量
session的基本原理与create命令的使用
zk特性-session的基本原理:
客户端与服务端之间的连接存在会话
每个会话都可以设置一个超时时间
心跳结束,session则过期
session过期,则临时节点znode会被抛弃
心跳机制:客户端向服务端的ping包请求
create命令的使用:
[zk: localhost:2181(CONNECTED) 7] create /testDir test-data # 创建一个节点,节点的数据为test-data
Created /testDir
[zk: localhost:2181(CONNECTED) 8] ls /
[zookeeper, testDir]
[zk: localhost:2181(CONNECTED) 9] get /testDir
test-data
cZxid = 0x4
ctime = Sun Apr 22 18:17:56 CST 2018
mZxid = 0x4
mtime = Sun Apr 22 18:17:56 CST 2018
pZxid = 0x4
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 9
numChildren = 0
[zk: localhost:218