Zookeeper(二)客户端

本文介绍了如何使用Java语言连接Zookeeper,包括启动客户端、执行命令进行节点操作、以及删除节点的基本步骤。提供了命令列表和示例操作,帮助开发者熟悉Zookeeper的客户端交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

zookeeper客户端连接

zookeeper的客户端库有两种语言:java和c,本文将只是介绍java语言的客户端库的连接用法。

一旦zookeeper已经运行起来,有一些选项可以用来连接zookeeper。

java:用法
bin/zkCli.sh -server 127.0.0.1:2181

这样可以让你执行简单的,像文件一样的操作。

如果你已经连接上了zookeeper,应该看到像这样的一些信息。

Connecting to localhost:2181
log4j:WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper).
log4j:WARN Please initialize the log4j system properly.
Welcome to ZooKeeper!
JLine support is enabled
[zkshell: 0]

在shell上,输入"help"得到一个命令的列表,这些命令都可以在客户端执行,命令列表:

[zkshell: 0] help
ZooKeeper host:port cmd args
        get path [watch]
        ls path [watch]
        set path data [version]
        delquota [-n|-b] path
        quit
        printwatches on|off
        create path data acl
        stat path [watch]
        listquota path
        history
        setAcl path acl
        getAcl path
        sync path
        redo cmdno
        addauth scheme auth
        delete path [version]
        deleteall path
        setquota -n|-b val path


从上面的命令中,你可以尝试一些简单的命令,来对这个简单的命令行接口有一个初步的体验,

首先,从发布"ls"命令开始:

[zkshell: 8] ls /
[zookeeper]
接着,通过执行 create /zk_test my_dat 创建一个新的zookeeper节点。这样就可以创建一个新的节点,并且将字符串“my_data"和新节点zk_test关联在一起,

[zkshell: 9] create /zk_test my_data
Created /zk_test

这时再发布 ls / 命令可以看到目录发生了什么变化:

[zkshell: 11] ls /
[zookeeper, zk_test]

注意到目录zk_test已经被创建了。

下一步,通过执行 get 命令来验证数据是否已经关联在节点上了:

[zkshell: 12] get /zk_test
my_data
cZxid = 5
ctime = Fri Jun 05 13:57:06 PDT 2009
mZxid = 5
mtime = Fri Jun 05 13:57:06 PDT 2009
pZxid = 5
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0
dataLength = 7
numChildren = 0

我们可以通过发布 set 命令来改变zk_test节点上关联的数据:

[zkshell: 14] set /zk_test junk
cZxid = 5
ctime = Fri Jun 05 13:57:06 PDT 2009
mZxid = 6
mtime = Fri Jun 05 14:01:52 PDT 2009
pZxid = 5
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0
dataLength = 4
numChildren = 0
[zkshell: 15] get /zk_test
junk
cZxid = 5
ctime = Fri Jun 05 13:57:06 PDT 2009
mZxid = 6
mtime = Fri Jun 05 14:01:52 PDT 2009
pZxid = 5
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0
dataLength = 4
numChildren = 0
注意,我们setting了数据后执行一个get 命令,来验证数据确实是改变了。

最后,让我们通过发布以下命令来删除节点:

[zkshell: 16] delete /zk_test
[zkshell: 17] ls /
[zookeeper]
[zkshell: 18]

如果你想退出客户端连接,可以发布quit命令:

[zkshell: 18] quit
Quitting...

java客户端,有个zkclient开源客户端,可以参考:

https://github.com/jjavaboy/lam-nio/tree/master/lam-zookeeper/src/main/java/org/lam/zookeeper/zkclient

英文原文:

http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值