提示:以下是本篇文章正文内容
一、zookeeper数据模型
- zookeeper是一个树形目录服务,其数据模型和Unix的文件系统目录树很类似,拥有一个层次化结构。
- 这里面的每一个节点都被称为:ZNode,每个节点上都会保存自己的数据和节点信息。
- 节点可以拥有子节点,同时也允许少量(1MB)数据存储在该节点之下。
- 节点分为四大类:
PERSISTENT 持久化节点
EPHEMERAL 临时节点:-e
PERSISTENT_SEQUENTIAL 持久化顺序节点:-s
EPHEMERAL_SEQUENTIAL 临时顺序节点:-es
二、zookeeper服务端常用命令
- 启动服务:
cd /usr/local/zookeeper/apache-zookeeper-3.8.2-bin/bin
./zkServer.sh start
- 查看服务状态:
./zkServer.sh status
- 停止服务:
./zkServer.sh stop
- 重启服务:
./zkServer.sh restart
三、zookeeper客户端常用命令
- 连接zookeeper服务端:
./zkCli.sh -server localhost:2181
但是报了错:
JAVA_HOME is not set and java could not be found in PATH.
处理方法:在zkCli.sh文件中加上 export JAVA_HOME=/usr/local/jdk/jdk1.8.0_371
- 断开连接
quit
- 查看命令帮助
help
- 显示指定目录下节点
ls 目录
#如果要查看根节点下的节点
ls /
- 创建节点
create /节点path value
# 创建根目录下的节点app1,值为test
create /app1 test
- 获取节点值
get /节点path
- 设置节点值
set /节点path value
- 删除单个节点
delete /节点path
- 删除带有子节点的节点
deleteall /节点path
- 创建临时节点
create -e /节点path value
# 不加-e就是创建持久化节点
- 创建顺序节点
create -s /节点path value
- 查询节点详细信息
ls -s /节点path
czxid 节点被创建的事务ID
ctime:创建时间
mzxid:最后一次被更新的事务ID
mtime:修改时间
pzxid:子节点列表最后一次被更新的事务ID
cversion:子节点的版本号
dataversion:数据版本号
aclversion:权限版本号
ephemeralOwner:用于临时节点,代表临时节点的事务ID,如果为持久化节点则为0
dataLength:节点存储的数据的长度
numChildren:当前节点的子节点个数