zookeeper-安装zookeeper与znode说明

115 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第8天,点击查看活动详情

安装zookeeper

  1. zookeeper底层依赖jdk,先进行jdk的安装,上传并解压jdk
//解压jdk
tar -xzvf jdk-版本.tar.gz
  1. 配置jdk环境变量
  2. java -version检测jdk安装是否成功
  3. 上传并解压zookeeper包
// 解压zookeeper
tar -xzvf zookeeper-版本.tar.gz
  1. 准备配置文件
1. 进入conf目录

2. 复制配置文件

3. zookeeper根目录下新建data目录

4. vi 修改配置文件中的dataDir,用于存储zookeeper中数据的内存快照、及事物日志文件
  1. 启动zookeeper
1. cd进入zookeeper的bin目录
2. 运行./zkServer.sh start命令启动zookeeper
3. 运行zkServer.sh stop 命令停止zookeeper
4. 运行zkServer.sh status 命令查看zookeeper状态

zookeeper节点说明

znode的主要属性有:

cZxid = 0x1
ctime = May Dec 11 12:00:00 CST 2022
mZxid = 0x1
mtime = May Dec 11 12:00:00 CST 2022
pZxid = 0x4
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 1
numChildren = 0

说明:

  • cZxid:数据节点创建时的事务 ID
  • ctime:数据节点创建时的时间
  • mZxid:数据节点最后一次更新时的事务 ID
  • mtime:数据节点最后一次更新时的时间
  • pZxid:数据节点的子节点最后一次被修改时的事务 ID
  • cversion:子节点的更改次数
  • dataVersion:节点数据的更改次数
  • aclVersion:节点的 ACL(权限相关属性) 的更改次数
  • ephemeralOwner:如果节点是临时节点,则表示创建该节点的会话的
  • SessionID;如果节点是持久节点,则该属性值为 0
  • dataLength:数据内容的长度
  • numChildren:数据节点当前的子节点个数

zookeeper节点类型

zookeeper中有两大类型节点,分别为临时节点和持久化(永久)节点。节点的类型在创建时被确定,且不能改变。

  • 临时节点:生命周期依赖于创建它们的会话。一旦会话结束,临 时节点自动删除,或手动删除。每个临时对所有的客户端可见。ZooKeeper的临时节点不能拥有子节点。

  • 持久化节点:该节点的生命周期不依赖于会话,只有显示执行删除操作时才会被删除。

其中临时节点和持久化节点分别还有普通节点和有序节点之分,有序节点在创建时,zookeeper会同时分配一个自增的序号,下次创建会在这个序号的基础上递增。