ZooKeeper安装以及基本功能体验
1. 安装
下载地址: https://zookeeper.apache.org/releases.html
选择bin下载,避免本地编译,如选择最新的3.6.2版
下载完毕之后,解压放在目标位置
1
| tar -xvf apache-zookeeper-3.6.2-bin.tar.gz
|
启动之前请确保jdk8以上的环境
启动命令
1 2
| bin/zkServer.sh start-foreground
|
2. 初体验
借助 bin/zkCli.sh
连接查看
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| ls path
create [-e] [-s] path data
get path
set path data [version]
delete path [version]
|
实例演示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| [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. 其他
一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
2. 声明
尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
3. 扫描关注
一灰灰blog