ZooKeeper 初体验
2024-10-05 13:36:18
安装Zookeeper
Mac OS
Mac 用户可以使用 Homebrew 安装和管理 Zookeeper 服务:
brew install zookeeper
配置文件地址在: /usr/local/etc/zookeeper。
启动 zookeeper 服务:
brew services start zookeeper
进入命令行客户端zkCli:
zkCli
默认连接localhost:2181
, 手动指定服务地址:
zkCli -server localhost:2181
Docker
可以使用官方提供的Docker镜像快速启动Zookeeper。
启动服务端:
docker run --name my_zookeeper -d zookeeper
ZNode 操作
使用终端工具ZkCli连接:
docker run -it --rm --link my_zookeeper:zookeeper zookeeper zkCli.sh -server zookeeper
命令行客户端 zkCli 可以交互式操作 Zookeeper, 其命令风格类似于 Unix 终端。
ls
查看某个路径包含的所有节点:
[zk: localhost:2181(CONNECTED) 1] ls /
[cluster, zookeeper, admin, config]
[zk: localhost:2181(CONNECTED) 2] ls /zookeeper
[quota]
ls2
查看某个路径包含的所有节点,以及节点元数据:
[zk: localhost:2181(CONNECTED) 7] ls2 /zookeeper
[quota]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1
create
创建节点:
[zk: localhost:2181(CONNECTED) 0] create /test 1
Created /test
/test
为创建节点的路径,1
为Znode的数据data
。
create 命令无法递归创建节点,即/test节点不存在时不能直接创建/test/t1
使用-e
选项创建临时节点:
[zk: localhost:2181(CONNECTED) 0] create -e /test/t2 t2
Created /test/t2
[zk: localhost:2181(CONNECTED) 1] get /test/t2
t2
[zk: localhost:2181(CONNECTED) 2] quit
Quitting...
[zk: localhost:2181(CONNECTED) 0] get /test/t2
Node does not exist: /test/t2
退出zkCli后重新进入,临时节点已经消失。
get
获取节点数据与元数据:
[zk: localhost:2181(CONNECTED) 8] get /test
1
cZxid = 0x11d28
ctime = Sat Sep 01 16:04:08 CST 2018
mZxid = 0x11d28
mtime = Sat Sep 01 16:04:08 CST 2018
pZxid = 0x11d28
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 1
numChildren = 0
set
更改节点数据:
[zk: localhost:2181(CONNECTED) 9] set /test 2
cZxid = 0x11d28
ctime = Sat Sep 01 16:04:08 CST 2018
mZxid = 0x11d2a
mtime = Sat Sep 01 16:25:46 CST 2018
pZxid = 0x11d28
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 1
numChildren = 0
可以注意到版本号发生了变化。
delete
删除节点:
[zk: localhost:2181(CONNECTED) 2] delete /test
只能删除没有子节点的Znode,若要将子节点一同删除需使用rmr命令。
最新文章
- hduoj 1455 &;&; uva 243 E - Sticks
- WEB服务器配置
- Linux中vim的简单配置
- Pythonic八荣八耻
- How to run a terminal inside of vim?
- 向CodeBlocks的Project中添加calss文件时,出现No such file or directory错误的解决方案
- 解决VS2012新建MVC3等项目时,收到加载程序集“NuGet.VisualStudio.Interop…”的错误
- [000]socket通信--server和client实现的简单例子
- ArrayList , Vector 数组集合
- 汉诺塔I &;&; II
- vue 组件中的钩子函数 不能直接写this
- MarkDown 的两种页内跳转方法!!!!!
- Hibernate_day02
- hdfs mapreduce hbase
- jQuery-点击查看联系方式
- 基因组与Python --PyVCF 好用的vcf文件处理器
- oracle 监听文件 说明
- 20181023-3 每周例行报告(添加PSP)
- bash 判断两个文件相等的代码
- printf()函数中\t,水平制表符,空格的个数