【ZooKeeper】第一章 快速入门
文章目录
- 【ZooKeeper】第一章 快速入门
- 一、概念
- 二、安装
- 1.环境准备
- 2.安装
- 3.配置
- 二、命令操作
- 1.数据模型
- 2.服务端常用命令
- 3.客户端常用命令
一、概念
- ZooKeeper 是 Apache Hadoop 项目下的一个子项目,是一个树形目录服务
- ZooKeeper 翻译过来就是动物园管理员,它是用来管理 Hadoop(大象)、Hive(蜜蜂)、Pig(猪)的管理员
- ZooKeeper 是一个开源的分布式应用程序的协调服务
- ZooKeeper 提供的主要功能包括
- 配置管理
- 分布式锁
- 集群管理
二、安装
1.环境准备
ZooKeeper 服务器基于 JDK7 及以上版本
2.安装
ZooKeeper 官网
找到下载页面,下载 “latest stable release” 的非 “Source Release” 版本,写文章时版本号为 3.7.1
至于 “Source Release” 是什么意思,如下所示
Source Release需要在你的机器上编译,Binary Release是编译好的,但是必须匹配你的操作系统。
Source Release在Linux上很常见,因为Linux系统的CPU可能会有很大的差异,几乎每个Linux版本都安装了编译器。
Binary Release则多用于Windows上,多数Windows系统没有安装编译器。
将下载好的 tar 包放在服务器的 /opt/ZooKeeper 目录下并解压
3.配置
进入到 /opt/ZooKeeper/conf 目录,按照 zoo_sample.cfg 创建一个 zoo.cfg
进入到 /opt/ZooKeeper 目录,创建 ZooKeeper 存储目录 zkdata
修改 zoo.cfg
dataDir=/opt/ZooKeeper/zkdata
二、命令操作
1.数据模型
- ZooKeeper 是一个树形目录服务,其数据模型和 Unix 的文件系统目录树很类似,拥有一个层次化结构,但是我们需要注意,文件树的目录是不存放数据的,而 ZNode 是可以存放数据的
- 这里的每一个节点都被称为 ZNode,每个节点上都会保存自己的数据和节点信息
- 节点可以拥有子节点,同时也允许少量(1MB)数据存储在该节点之下
- 节点可以分为四大类
- PERSISTENT 持久化节点,客户端或者服务端重启仍然存在
- EPHEMERAL 临时节点,客户端断开连接后就销毁:-e
- PERSISTENT_SEQUENTIAL 持久化顺序节点:-s
- EPHEMERAL_SEQUENTIAL 临时顺序节点:-es
2.服务端常用命令
进入到 /opt/ZooKeeper/bin 目录,启动、停止、重启分和查看当前节点状态(包括集群中是何角色)分别执行:
./zkServer.sh start
./zkServer.sh stop
./zkServer.sh restart
./zkServer.sh status
3.客户端常用命令
连接服务端(首先需要确认服务端的指定端口是否开放)
./zkCli.sh -server ip:port
断开连接
quit
查看命令帮助
help
显示指定目录下节点
ls 目录
创建节点
create /永久节点path value
create -e /临时节点path value
create -s /永久顺序节点path value
create -es /临时顺序节点path value
获取节点值
get /节点path
设置节点值
set /节点path value
删除单个节点
delete /节点path
删除带有子节点的节点
deleteall /节点path