`
fantaxy025025
  • 浏览: 1247886 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

【Apache ZooKeeper】命令行zkCli.sh使用指南

 
阅读更多

 

from:http://blog.sina.com.cn/s/blog_790c59140102w6ho.html

zookeeper的客户端连接可以使用命令行和Java代码进行连接。记录下命令行的操作命令
一、命令行
(1)使用zookeeper安装bin目录下的./zkCli.sh连接到zookeeper服务器上,基本语法如下:
./zkCli.sh -timeout 0 -r -server ip:port
其中,-timeout表示当前会话的超时时间,zookeper依靠与客户端的心跳来判断会话是否有效,单位是毫秒
-r代表只读模式,zookeeper的只读模式指一个服务器与集群中过半机器失去连接以后,这个服务器就不在不处理客户端的请求,但我们仍然希望该服务器可以提供读服务。
-server,指定服务器ip地址和端口号
(2)h:查看帮助
Zookeeper客户端的命令操作
(3)ls,列出某一节点下的子节点信息
(4)stat,查看节点的状态信息
Zookeeper客户端的命令操作
在zookeeper中,每一次对节点的写操作都认为是一次事务,每一个事务,系统都会分配一个唯一的事务ID,czxid代表该节点被创建的事务ID,ctime表示创建的时间,mzxid表示最后一次被更新的事务ID,mtime是修改时间,pzxid表示子节点列表最后一次被更新的事务ID,cversion子节点的版本号,dataversion数据版本号,aclversion权限版本号,ephemeralOwner用于临时节点,代表临时节点的事务ID,如果为持久节点则为0,dataLength代表节点存储的数据的长度,numChildren当前节点的子节点个数。
(5)get,获取当前节点存储的数据内容
(6)ls2,列出当前节点的子节点,同时列出节点状态
(6)create,创建节点
-s,顺序节点
-e,临时节点
Zookeeper客户端的命令操作
(7)set,修改节点数据,可携带版本号
Zookeeper客户端的命令操作
修改的时候要么不携带版本号,要么携带的版本号要跟dataVersion的版本号一致,否则就会报错(类似于乐观锁机制)。
(8)delete,删除节点,只能删除没有子节点的节点,要删除含有子节点的时候需使用rmr命令
(9)rmr,删除节点
Zookeeper客户端的命令操作
(10)setquota,配额,给节点限制值,比如限制子节点个数、节点数据的长度
-n,限制子节点个数
-b,限制值的长度
Zookeeper客户端的命令操作
当创建节点超出配额时,zookeeper不会抛出异常,会在zookeeper.out记录警告信息
(11)listquota,查看配额,以及节点的配额状态
Zookeeper客户端的命令操作
(12)delquota,删除配额
(13)close,关闭当前连接
(14)history,查看历史执行指令
(15)redo,重复执行指令

 

 

from:http://blog.csdn.net/hackerwin7/article/details/38046085/

.sh 服务启动成功后查看具体节点信息,是否为leader。

bin/zkServer.sh status

使用客户端连接

bin/zkCli.sh server IP地址:2181

连接成功后,系统会输出 ZooKeeper 的相关环境以及配置信息,并在屏幕输出“ Welcome to ZooKeeper ”等信息。
输入 help 之后,屏幕会输出可用的 ZooKeeper 命令

help ZooKeeper-server host:port cmd args connect host:port get路径[watch]//得到节点数据 ls 节点路径[watch]//查看节点信息 set节点路径数据[版本整型值]//设置节点数据 delquota [-n|-b] path quit printwatches on|off create [-s][-e]节点路径节点数据 acl //创建一个新的节点 stat path [watch] close ls2 节点路径[watch]//查看节点信息并能看到更新次数等数据 history listquota path setAcl path acl getAcl path sync path redo cmdno addauth scheme auth delete节点路径[版本整型值]//删除节点 setquota -n|-b val path

 

from:http://www.tuicool.com/articles/Y3eame

【Apache ZooKeeper】命令行zkCli.sh使用指南

ZooKeeper命令行 
ZooKeeper的命令在/usr/lib/zookeeper/bin文件夹下 
查看具体结点信息 
bash zkServer.sh status 
root@ubuntu:/usr/lib/zookeeper/bin# bash zkServer.sh status 
JMX enabled by default 
Using config: /usr/lib/zookeeper/bin/../conf/zoo.cfg 
Mode: standalone 

查看哪个结点被选作leader或者follower 
echo stat|nc 127.0.0.1 2181 
root@ubuntu:/usr/lib/zookeeper/bin# echo stat|nc 127.0.0.1 2181  
Zookeeper version: 3.4.5-cdh4.4.0--1, built on 09/04/2013 01:46 GMT 
Clients: 
 /127.0.0.1:57736[0](queued=0,recved=1,sent=0) 

Latency min/avg/max: 0/0/0 
Received: 1 
Sent: 0 
Connections: 1 
Outstanding: 0 
Zxid: 0x0 
Mode: standalone 
Node count: 4 

测试是否启动了该Server,若回复imok表示已经启动 
echo ruok|nc 127.0.0.1 2181 
root@ubuntu:/usr/lib/zookeeper/bin# echo ruok|nc 127.0.0.1 2181 
imok 

ZooKeeper命令行类似于shell。 
当启动 ZooKeeper 服务成功之后,输入下述命令,连接到 ZooKeeper 服务: 
bash zkCli.sh –server 192.168.255.133:2181 

root@ubuntu:/usr/lib/zookeeper/bin# bash zkCli.sh -server 192.168.255.133:2181 
Connecting to 192.168.255.133:2181 
2013-09-12 15:38:39,654 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.5-cdh4.4.0--1, built on 09/04/2013 01:46 GMT 
2013-09-12 15:38:39,657 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=ubuntu 
2013-09-12 15:38:39,659 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.6.0_43 
2013-09-12 15:38:39,660 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Sun Microsystems Inc. 
2013-09-12 15:38:39,662 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/usr/local/jdk1.6.0_43/jre 
2013-09-12 15:38:39,664 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/usr/lib/zookeeper/bin/../build/classes:/usr/lib/zookeeper/bin/../build/lib/*.jar:/usr/lib/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/lib/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/lib/zookeeper/bin/../lib/netty-3.2.2.Final.jar:/usr/lib/zookeeper/bin/../lib/log4j-1.2.15.jar:/usr/lib/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/lib/zookeeper/bin/../zookeeper-3.4.5-cdh4.4.0.jar:/usr/lib/zookeeper/bin/../src/java/lib/*.jar:/usr/lib/zookeeper/bin/../conf: 
2013-09-12 15:38:39,665 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/local/jdk1.6.0_43/jre/lib/amd64/server:/usr/local/jdk1.6.0_43/jre/lib/amd64:/usr/local/jdk1.6.0_43/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 
2013-09-12 15:38:39,667 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp 
2013-09-12 15:38:39,668 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA> 
2013-09-12 15:38:39,669 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux 
2013-09-12 15:38:39,670 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64 
2013-09-12 15:38:39,670 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=3.2.0-51-generic 
2013-09-12 15:38:39,672 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root 
2013-09-12 15:38:39,672 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root 
2013-09-12 15:38:39,673 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/usr/lib/zookeeper/bin 
2013-09-12 15:38:39,674 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=192.168.255.133:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@2666e815 
Welcome to ZooKeeper! 
JLine support is enabled 
2013-09-12 15:38:39,720 [myid:] - INFO  [main-SendThread(192.168.255.133:2181):ClientCnxn$SendThread@966] - Opening socket connection to server 192.168.255.133/192.168.255.133:2181. Will not attempt to authenticate using SASL (Unable to locate a login configuration) 
2013-09-12 15:38:39,729 [myid:] - INFO  [main-SendThread(192.168.255.133:2181):ClientCnxn$SendThread@849] - Socket connection established to 192.168.255.133/192.168.255.133:2181, initiating session 
[zk: 192.168.255.133:2181(CONNECTING) 0] 2013-09-12 15:38:39,748 [myid:] - INFO  [main-SendThread(192.168.255.133:2181):ClientCnxn$SendThread@1207] - Session establishment complete on server 192.168.255.133/192.168.255.133:2181, sessionid = 0x141102059a70001, negotiated timeout = 30000 

WATCHER:: 

WatchedEvent state:SyncConnected type:None path:null 

输入help显示帮助信息: 

help  
ZooKeeper -server host:port cmd args 
        connect host:port 
        get path [watch] 
        ls path [watch] 
        set path data [version] 
        rmr path 
        delquota [-n|-b] path 
        quit  
        printwatches on|off 
        create [-s] [-e] path data acl 
        stat path [watch] 
        close  
        ls2 path [watch] 
        history  
        listquota path 
        setAcl path acl 
        getAcl path 
        sync path 
        redo cmdno 
        addauth scheme auth 
        delete path [version] 
        setquota -n|-b val path 
[zk: 192.168.255.133:2181(CONNECTED) 1]  

连接成功后,系统会输出 ZooKeeper 的相关环境以及配置信息,并在屏幕输出“ Welcome to ZooKeeper ”等信息。

命令行工具的一些简单操作如下:

1 )使用 ls 命令来查看当前 ZooKeeper 中所包含的内容: 
[zk: 202.115.36.251:2181(CONNECTED) 1] ls / 
[zookeeper] 

2 )创建一个新的 znode ,使用 create /zk myData 。这个命令创建了一个新的 znode 节点“ zk ”以及与它关联的字符串: 
[zk: 202.115.36.251:2181(CONNECTED) 2] create /zk "myData" 
Created /zk  

3 )我们运行 get 命令来确认 znode 是否包含我们所创建的字符串: 
[zk: 202.115.36.251:2181(CONNECTED) 3] get /zk 
cZxid = 0x6 
ctime = Thu Sep 12 15:49:16 CST 2013 
mZxid = 0x7 
mtime = Thu Sep 12 15:49:38 CST 2013 
pZxid = 0x6 
cversion = 0 
dataVersion = 1 
aclVersion = 0 
ephemeralOwner = 0x0 
dataLength = 10 
numChildren = 0 

4 )下面我们通过 set 命令来对 zk 所关联的字符串进行设置: 
[zk: 202.115.36.251:2181(CONNECTED) 4] set /zk "zsl" 
"myData" 
cZxid = 0x4 
ctime = Thu Sep 12 15:46:37 CST 2013 
mZxid = 0x4 
mtime = Thu Sep 12 15:46:37 CST 2013 
pZxid = 0x4 
cversion = 0 
dataVersion = 0 
aclVersion = 0 
ephemeralOwner = 0x0 
dataLength = 8 
numChildren = 0 

5 )下面我们将刚才创建的 znode 删除: 
[zk: 202.115.36.251:2181(CONNECTED) 5] delete /zk 

当然,我们还可以创建有曾次的目录,比如使用create /zk/node1在zk目录下创建新的目录node1 
[zk: 192.168.255.133:2181(CONNECTED) 18] create /zk/node1 "node1" 
Created /zk/node1 
[zk: 192.168.255.133:2181(CONNECTED) 19] ls /zk 
[node1] 

使用ZooKeeper四字命令 

传递四个字母的字符串给ZooKeeper,ZooKeeper会返回一些有用的信息。

ZooKeeper 四字命令

功能描述

conf

输出相关服务配置的详细信息。

cons

列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。包括“接受 / 发送”的包数量、会话 id 、操作延迟、最后的操作执行等等信息。

dump

列出未经处理的会话和临时节点。

envi

输出关于服务环境的详细信息(区别于 conf 命令)。

reqs

列出未经处理的请求

ruok

测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应。

stat

输出关于性能和连接的客户端的列表。

wchs

列出服务器 watch 的详细信息。

wchc

通过 session 列出服务器 watch 的详细信息,它的输出是一个与watch 相关的会话的列表。

wchp

通过路径列出服务器 watch 的详细信息。它输出一个与 session相关的路径。

 

 

例如:

root@ubuntu:/usr/lib/zookeeper/bin# echo conf |nc 192.168.255.133 2181     
clientPort=2181 
dataDir=/var/lib/zookeeper/version-2 
dataLogDir=/var/log/zookeeper/version-2 
tickTime=2000 
maxClientCnxns=50 
minSessionTimeout=4000 
maxSessionTimeout=40000 
serverId=0 

 

+

+

+

-

-

-

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics