1 Zookeeper概念

•Zookeeper 是一个分布式的、开源的分布式应用程序的协调服务。

•Zookeeper 是 Apache Hadoop 项目下的一个子项目,是一个树形目录服务。

Zookeeper之入门命令 - 图1
Zookeeper之入门命令 - 图2

•Zookeeper 提供的主要功能包括:

•配置管理

•分布式锁

•集群管理

2 ZooKeeper 命令操作

2.1 基本节点

PERSISTENT 持久化节点

服务端关闭和客户端断开连接,节点都能保存。

EPHEMERAL 临时节点 :-e

当客户端断开连接,节点失效。

PERSISTENT_SEQUENTIAL 持久化顺序节点 :-s

只是将持久化节点排序,节点不会丢失。

EPHEMERAL_SEQUENTIAL 临时顺序节点 :-es

只是将临时节点排序,节点失去客户端连接,节点失效。

2.2 服务端命令

进入zookeeper安装目录下的bin,启动shell脚步,zkServer.sh脚步启动

•启动 ZooKeeper 服务: ./zkServer.sh start

•查看 ZooKeeper 服务状态: ./zkServer.sh status

•停止 ZooKeeper 服务: ./zkServer.sh stop

•重启 ZooKeeper 服务: ./zkServer.sh restart

2.3 客户端命令

•连接ZooKeeper服务端

  1. ./zkCli.sh –server ip:port

Zookeeper之入门命令 - 图3

•断开连接

  1. quit

Zookeeper之入门命令 - 图4

•查看命令帮助

  1. help

•显示指定目录下节点

  1. ls 目录

Zookeeper之入门命令 - 图5

•创建节点

  1. create /节点path value

Zookeeper之入门命令 - 图6

•获取节点值

  1. get /节点path

Zookeeper之入门命令 - 图7

•设置节点值

  1. set /节点path value

Zookeeper之入门命令 - 图8

•删除单个节点

  1. delete /节点path

Zookeeper之入门命令 - 图9

•删除带有子节点的节点

  1. deleteall /节点path

无法一并创建节点,必须创建父节点,才能创建子节点。

Zookeeper之入门命令 - 图10

当有子节点,delete删除节点失去作用,无法直接删除节点,必须将子节点全部删除后,父节点才能进行删除。

Zookeeper之入门命令 - 图11

deleteall 可以直接删除全部节点。

Zookeeper之入门命令 - 图12

2.4 客户端命令-创建临时有序节点

•创建临时节点

  1. create -e /节点path value

Zookeeper之入门命令 - 图13

Zookeeper之入门命令 - 图14

Zookeeper之入门命令 - 图15

•创建顺序节点

  1. create -s /节点path value

Zookeeper之入门命令 - 图16

•查询节点详细信息

  1. ls –s /节点path

Zookeeper之入门命令 - 图17

•czxid:节点被创建的事务ID

•ctime: 创建时间

•mzxid: 最后一次被更新的事务ID

•mtime: 修改时间

•pzxid:子节点列表最后一次被更新的事务ID

•cversion:子节点的版本号

•dataversion:数据版本号

•aclversion:权限版本号

•ephemeralOwner:用于临时节点,代表临时节点的事务ID,如果为持久节点则为0

•dataLength:节点存储的数据的长度

•numChildren:当前节点的子节点个数