- 一、ZooKeeper简介
- 二、ZooKeeper数据结构&命令
** 1、数据结构
** 2、服务端常用命令
①单机启动命令:./zkServer.sh start
②状态查询命令:./zkServer.sh status
③停止服务命令:./zkServer.sh stop
④重启服务命令:./zkServer.sh restart
** 3、客户端常用命令
Ⅰ、基础常用命令
①连接至客户端:./zkCli.sh -server [ip地址]:[端口号-默认为2181]
②断开连接:quit
③查看帮助:help
④显示指定目录下节点:ls [节点path]
⑤创建节点:create /[节点path] value
⑥获取节点值:get /[节点path]
⑦设置/更新节点值:set /[节点path] value
⑧删除单个节点:delete /[节点path]
⑨删除带有子节点节点:deleteall /[节点path]
Ⅱ、重要常用命令
①创建临时节点:create -e /[节点path] value
②创建顺序节点:create -s /[节点path] value
③创建临时顺序节点:create -es /[节点path] value
④查询节点详细信息:ls -s /[节点path]
tips:如需查看示例Ctrl+F跳转至对应内容处即可。
一、ZooKeeper简介
- ZooKeeper主要功能:
①配置管理
②分布式锁
③集群管理
二、ZooKeeper数据结构&命令
1、数据结构
- 节点ZNode,会保存自己的数据和节点信息;
- 节点可以拥有子节点,同时也允许少量(1MB)数据存储在节点下;
- 节点分4大类:
①持久节点(PERSISTENT)
②持久顺序节点(PERSISTENT_SEQUENTIAL)-s
③临时节点(EPHEMERAL)-e
④临时顺序节点(EPHEMERAL_SEQUENTIAL)-es
2、服务端常用命令
在Linux系统内解压ZooKeeper***.tar.gz资源包,进入目录后如下图:
此时进入bin目录,即可找到相应的服务端和客户端启动文件,zkServer.sh和zkCli.sh(如果是win系统,则对应.cmd文件)。
- ①单机启动命令:./zkServer.sh start
./zkServer.sh start
- ②状态查询命令:./zkServer.sh status
./zkServer.sh status
- ③停止服务命令:./zkServer.sh stop
./zkServer.sh stop
- ④重启服务命令:./zkServer.sh restart
./zkServer.sh restart
3、客户端常用命令
Ⅰ、基础常用命令:
- ①连接至客户端命令:./zkCli.sh -server [ip地址]:[端口号-默认为2181]
./zkCli.sh -server localhost:2181
./zkCli.sh #连接本机可以省略后面内容
- ②断开连接命令:quit
quit
- ③查看帮助命令:help
help
- ④显示指定目录下节点命令:ls [节点path]
注意要层层递进去看对应节点内容,不能直接:ls [子节点名]
ls / #查看根目录下节点
ls /dubbo/metadata/providers
- ⑤创建节点命令:create /[节点path] value
节点value选项非必须,未设置则默认为null
create /example/node1 test01
- ⑥获取节点值命令:get /[节点path]
节点未设置值则显示null
获取不存在的节点则报错:org.apache.zookeeper.KeeperException$NoNodeException
get /example/node1
#控制台显示 test01,如果未设置则显示 null
- ⑦设置/更新节点值命令:set /[节点path] value
未设置值则设置,已设置则更新
set /example/node1 test02
- ⑧删除单个节点命令:delete /[节点path]
如果该节点带有子节点则会提示Node not empty
delete /example/node1
- ⑨删除带有子节点节点的命令:deleteall /[节点path]
deleteall /example
Ⅱ、重要常用命令:
- ①创建临时节点命令:create -e /[节点path] value
create -e /temp/tnode tvalue
- ②创建顺序节点命令:create -s /[节点path] value
create -s /temp/tnode1 tvalue
#Created /temp/tnode10000000001
- ③创建临时顺序节点命令:create -es /[节点path] value
create -es /temp/tnode tvalue
- ④查询节点详细信息命令:ls -s /[节点path]
cZxid:节点被创建的事务ID
ctime: 创建时间
mZxid: 最后一次被更新的事务ID
mtime: 修改时间
pZxid:子节点列表最后一次被更新的事务ID
cversion:子节点的版本号
dataVersion:数据版本号
aclVersion:权限版本号
ephemeralOwner:用于临时节点,代表临时节点的事务ID,如果为持久节点则为0
dataLength:节点存储的数据的长度
numChildren:当前节点的子节点个数
ls -s /node
[app1, app2]cZxid = 0x7c #节点被创建的事务ID
ctime = Sun Nov 14 00:04:48 CST 2021 #创建时间
mZxid = 0x7c #最后一次被更新的事务ID
mtime = Sun Nov 14 00:04:48 CST 2021 #修改时间
pZxid = 0x115e6 #子节点列表最后一次被更新的事务ID
cversion = 8 #子节点的版本号
dataVersion = 0 #数据版本号
aclVersion = 0 #权限版本号
ephemeralOwner = 0x0 #用于临时节点,代表临时节点的事务ID,如果为持久节点则为0
dataLength = 0 #节点存储的数据的长度
numChildren = 2 #当前节点的子节点个数
三、总结
以上即为ZooKeeper基础相关的内容,感谢阅读。