阅读 235

ZooKeeper安装及初体验

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

ZooKeeper安装以及基本功能体验

1. 安装

下载地址: zookeeper.apache.org/releases.ht…

选择bin下载,避免本地编译,如选择最新的3.6.2版

下载完毕之后,解压放在目标位置

tar -xvf apache-zookeeper-3.6.2-bin.tar.gz
复制代码

启动之前请确保jdk8以上的环境

启动命令

# 前台使用默认配置启动
bin/zkServer.sh start-foreground
复制代码

2. 初体验

借助 bin/zkCli.sh 连接查看

# 资源列表
ls path # 列出路径下的资源

# 创建节点
# -e 表示临时, 不带表示持久节点
# -s 表示顺序节点
# path 路径
# data 携带的数据信息
create [-e] [-s] path data 


# 查看节点数据
get path

# 设置数据
set path data [version]

# 删除节点
delete path [version]
复制代码

实例演示

[zk: localhost:2181(CONNECTED) 28] create /hello '一灰'
Created /hello
[zk: localhost:2181(CONNECTED) 29] get /hello
一灰
[zk: localhost:2181(CONNECTED) 30] create /hello/01 '00'
Created /hello/01
[zk: localhost:2181(CONNECTED) 31] create /hello/02 '02'
Created /hello/02
[zk: localhost:2181(CONNECTED) 32] ls /hello
[01, 02]
[zk: localhost:2181(CONNECTED) 33] get /hello/01
00
[zk: localhost:2181(CONNECTED) 34] delete /hello
Node not empty: /hello
[zk: localhost:2181(CONNECTED) 35] delete /hello/01
[zk: localhost:2181(CONNECTED) 36] ls /hello
[02]
[zk: localhost:2181(CONNECTED) 39] create -e -s /hello/02 '有序'
Created /hello/020000000002
[zk: localhost:2181(CONNECTED) 40] get /hello/02
02
[zk: localhost:2181(CONNECTED) 41] get /hello/020000000002
有序
[zk: localhost:2181(CONNECTED) 42] create -e -s /hello/03 '有序'
Created /hello/030000000003
[zk: localhost:2181(CONNECTED) 43] ls /hello
[02, 020000000002, 030000000003]
复制代码

3. 基本概念

四种节点:

  • 持久化节点PERSISTENT: 节点创建之后,一直存在,除非手动删除
  • 持久化顺序节点PERSISTENT_SEQUENTIAL: 持久化节点,与上面的区别在于它的顺序性,zk中,每个父节点会为第一级子节点维护时序,记录子节点创建的先后顺序,这里的有序可以理解为在节点名上添加一个有序的数字后缀,作为新的节点名
  • 临时节点EPHEMERAL: 与持久节点的区别在于临时节点的生命周期与client绑定,当client终端,这个节点会被销毁
  • 临时有序节点EPHEMERAL_SEQUENTIAL: 临时节点,有序,zk的分布式锁一般是采用它来实现

II. 其他

1. 一灰灰Blogliuyueyi.github.io/hexblog

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

2. 声明

尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

文章分类
后端
文章标签