1、Zookeeper概念

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

Zookeeper 翻译过来就是 动物园管理员,他是用来管 Hadoop(大象)、Hive(蜜蜂)、Pig(小 猪)的管理员。简称zk

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

Zookeeper 提供的主要功能包括:

  • 配置管理
  • 分布式锁
  • 集群管理

2、Zookeeper命令操作数据模型

        ZooKeeper 是一个树形目录服务,其数据模型和Unix的文件系统目录树很类似,拥有一个层次化结构。这里面的每一个节点都被称为: ZNode,每个节点上都会保存自己的数据和节点信息。

节点可以拥有子节点,同时也允许少量(1MB)数据存储在该节点之下。

节点可以分为四大类:

        PERSISTENT 持久化节点

        EPHEMERAL 临时节点 :-e

        PERSISTENT_SEQUENTIAL 持久化顺序节点 :-s

        EPHEMERAL_SEQUENTIAL 临时顺序节点 :-es

3、Zookeeper命令操作服务端命令

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

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

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

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

4、Zookeeper客户端常用命令

连接ZooKeeper服务端

./zkcli.sh  连接本地的zookeeper服务器

./zkCli.sh –server ip:port        连接指定的服务器

断开连接

quit 

查看命令帮助  

help 

显示指定目录下节点

ls 目录 

创建节点  

create /节点path value 

create [-s][-e] path data acl        其中,-s-e分别指定节点特性,顺序或临时节点,若不指定,则创建持久节点;acl用来进行权限控制

获取节点值

get /节点path 

设置节点值  

set /节点path value 

set path data [version]         其中,data就是要更新的新内容,version表示数据版本,在zookeeper中,节点的数据是有版本概念的,这个参数用于指定本次更新操作是基于Znode的哪个数据版本进行

删除单个节点  

delete /节点path 

若删除节点存在子节点,那么无法删除该节点,必须先删除子节点,再删除父节点 

删除带有子节点的节点  

deleteall /节点path 

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

 创建临时节点

create -e /节点path value 

创建顺序节点  

create -s /节点path value 

查询节点详细信息  

ls –s /节点path  

  • czxid:节点被创建的事务ID
  • ctime: 创建时间
  • mzxid: 最后一次被更新的事务ID
  • mtime: 修改时间
  • pzxid:子节点列表最后一次被更新的事务ID
  • cversion:子节点的版本号
  • dataversion:数据版本号
  • aclversion:权限版本号
  • ephemeralOwner:用于临时节点,代表临时节点的事务ID,如果为持久节点则为0
  • dataLength:节点存储的数据的长度
  • numChildren:当前节点的子节点个数

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐