接下来主要讲述了通过zookeeper服务器自带的zkCli.sh工具模拟客户端访问和操作zookeeper服务器(包括集群服务器)。
当成功启动zookeeper服务后,切换到server1/bin/目录下执行以下命令:
bash zkCli.sh -sever 127.0.0.1:2181
终端出现一下信息:
Connecting to 127.0.0.1:2181 2017-02-23 17:00:32,224 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.9-1757313, built on 08/23/2016 06:50 GMT 2017-02-23 17:00:32,229 [myid:] - INFO [main:Environment@100] - Client environment:host.name=jxwch-Rev-1-0 2017-02-23 17:00:32,229 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.7.0_79 2017-02-23 17:00:32,232 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation 2017-02-23 17:00:32,232 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/usr/lib/jvm/jdk1.7.0_79/jre 2017-02-23 17:00:32,232 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/home/jxwch/server1/bin/../build/classes:/home/jxwch/server1/bin/../build/lib/*.jar:/home/jxwch/server1/bin/../lib/slf4j-log4j12-1.6.1.jar:/home/jxwch/server1/bin/../lib/slf4j-api-1.6.1.jar:/home/jxwch/server1/bin/../lib/netty-3.10.5.Final.jar:/home/jxwch/server1/bin/../lib/log4j-1.2.16.jar:/home/jxwch/server1/bin/../lib/jline-0.9.94.jar:/home/jxwch/server1/bin/../zookeeper-3.4.9.jar:/home/jxwch/server1/bin/../src/java/lib/*.jar:/home/jxwch/server1/bin/../conf:.:/usr/lib/jvm/jdk1.7.0_79/lib: 2017-02-23 17:00:32,232 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 2017-02-23 17:00:32,232 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp 2017-02-23 17:00:32,232 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA> 2017-02-23 17:00:32,232 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux 2017-02-23 17:00:32,232 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64 2017-02-23 17:00:32,232 [myid:] - INFO [main:Environment@100] - Client environment:os.version=4.4.0-62-generic 2017-02-23 17:00:32,233 [myid:] - INFO [main:Environment@100] - Client environment:user.name=jxwch 2017-02-23 17:00:32,233 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/home/jxwch 2017-02-23 17:00:32,233 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/home/jxwch/server1/bin 2017-02-23 17:00:32,234 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=127.0.0.1:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@f33ef6a Welcome to ZooKeeper! 2017-02-23 17:00:32,265 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 127.0.0.1/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error) 2017-02-23 17:00:32,274 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@876] - Socket connection established to 127.0.0.1/127.0.0.1:2181, initiating session JLine support is enabled 2017-02-23 17:00:32,340 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server 127.0.0.1/127.0.0.1:2181, sessionid = 0x15a6a16c4dd0001, negotiated timeout = 30000 WATCHER:: WatchedEvent state:SyncConnected type:None path:null [zk: 127.0.0.1:2181(CONNECTED) 0]
其中包含“Welcome to Zookeeper!”表示客户端连接服务器成功,并且进入了客户端操作环境,输入help,出现:
- 使用ls命令查看当前zookeeper中所包含的内容:
- 创建一个新的znode,并且为该znode赋值myData:
- 再次使用ls命令查看zookeeper中包含的内容:
- 通过get命令获取znode节点对应的值:
从结果中可以看出值为:myData,同时还可以获取到节点的其他信息。
- 下面通过set命令对zk所关联的字符串进行重新赋值:
然后通过get命令重新获取zk对应的字符串值:
从结果中可以看到zk节点所对应的字符串值已经变成了“jianxianwch”,并且对应的数据版本(dataVersion)从0变成了1。
- 下面删除刚才创建的zk节点
- 最后通过ls命令验证删除操作结果:
经验证,zk节点成功删除。
参考文献: