文章目录
⼀、概述
官⽹
介绍
ZooKeeper是⼀个开源的分布式应⽤协调服务系统,主要⽤来完成统⼀命名服务、状态同步服务、集群管理、分布式应⽤配置项的管理等⼯作。
特点
- ZooKeeper有⼀个层次化的名称空间,很像⼀个分布式⽂件系统(树形层次结构)
- ZooKeeper树中的每个节点被称为——Znode
- Znode,兼具⽂件和⽬录两种特点。既像⽂件⼀样维护着数据、元信息、ACL、时间戳等数据结构,⼜像⽬录⼀样可以作为路径标识的⼀部分
ZNode类型
ZooKeeper中的节点分为临时节点、永久节点和顺序节点。节点的类型在创建时即被确定,并且不能改变。
- 临时节点(Ephemeral Node):该节点的⽣命周期依赖于创建它们的会话。⼀旦会话(Session)结束,临时节点将被⾃动删除,ZooKeeper的临时节点不允许拥有⼦节点。
- 永久节点(Persistent Node):该节点的⽣命周期不依赖于会话,并且只有在客户端执⾏删除操作的时候,他们才能被删除。
- 顺序节点(Sequential Node):顺序节点可以是持久的或临时的。当⼀个新的Znode被创建为⼀个顺序节点时,ZooKeeper通过将10位的序列号附加到原始名称来设置Znode的路径。例如,如果将具有路径 /myapp 的znode创建为顺序节点,则ZooKeeper会将路径更改为 /myapp0000000001 ,并将下⼀个序列号设置为0000000002。
Watches
客户端可以在节点上设置watch,我们称之为监视器。当节点状态发⽣改变时(ZNode的增、删、改)将会触发watch所对应的操作。当watch被触发时,ZooKeeper将会向客户端发送且仅发送⼀条通知。
⼆、ZooKeeper环境搭建
1、准备
CentOS 7、JDK 1.8、zookeeper安装包
将JDK 1.8、zookeeper安装包传至linux系统
下载地址:链接:链接:https://pan.baidu.com/s/11_0O4LFe4ekx7XOciaYerg
提取码:kyxv
2、安装配置JDK环境
3、解压zookeeper安装包
tar -zxvf zookeeper-3.4.11.tar.gz -C /usr
4、修改配置⽂件
- 复制并重命名zoo_sample.cfg配置文件为zoo.cfg
cp /usr/zookeeper-3.4.6/conf/zoo_sample.cfg /usr/zookeeper-3.4.6/conf/zoo.cfg
- 编辑配置文件zoo.cfg
修改内容为:vim /usr/zookeeper-3.4.6/conf/zoo.cfg
tickTime=2000 dataDir=/tmp/zookeeperData clientPort=2181
5、启动zookeeper
cd /usr/zookeeper-3.4.6/bin
./zkServer.sh start ../conf/zoo.cfg
6、启动成功
三、ZooKeeper指令操作
使⽤客户端脚本连接ZK Server
./zkCli.sh -server ip:2181
常⽤指令
help 帮助
connect host:port 连接到指定zk server
get path [watch] 获取指定节点数据
ls path [watch] 查看指定节点所有⼦节点
set path data [version] 给指定节点设置数据
rmr path 递归删除指定节点
quit 退出客户端
create [-s][-e] path data acl 创建节点 -s 顺序节点 -e 临时节点
close 关闭连接
delete path [version] 删除节点
待续 。。。