Zookeeper(二)客户端

来源:互联网 发布:怎样可以淘宝极速退款 编辑:程序博客网 时间:2024/05/21 10:57

zookeeper客户端连接

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

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

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

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

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

Connecting to localhost:2181log4j: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] helpZooKeeper 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_dataCreated /zk_test

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

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

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

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

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

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

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

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

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

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

[zkshell: 18] quitQuitting...

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

0 0
原创粉丝点击