转载自 http://www.javashuo.com/article/p-gqgtqawh-db.htmlhtml
1、zkServer.shnode
一、查看 zkServer.sh 帮助信息
[root@bigdata05 bin]# ./zkServer.sh help
ZooKeeper JMX enabled by default
Using config: /bigdata/zookeeper-3.4.10/bin/../conf/zoo.cfg
Usage: ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}服务器
二、 启动/关闭 zk服务器
[root@bigdata05 bin]# ./zkServer.sh start
[root@bigdata05 bin]# ./zkServer.sh stopsession
三、查看服务器状态
[root@bigdata05 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /bigdata/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower运维
2、zkCli.shoop
一、查看 zkCli.sh 帮助信息
[zk: localhost:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
stat path [watch]
set path data [version]
ls path [watch]
delquota [-n|-b] path
ls2 path [watch]
setAcl path acl
setquota -n|-b val path
history
redo cmdno
printwatches on|off
delete path [version]
sync path
listquota path
rmr path
get path [watch]
create [-s] [-e] path data acl
addauth scheme auth
quit
getAcl path
close
connect host:port性能
经常使用命令测试
0)链接zookeeper
[root@bigdata05 bin]# ./zkCli.sh -server localhost:2181ui
1)查看当前节点列表
[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper, yarn-leader-election, hadoop-ha]spa
2)建立节点
[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper, yarn-leader-election, hadoop-ha]
[zk: localhost:2181(CONNECTED) 2] create /test "test"
Created /test
[zk: localhost:2181(CONNECTED) 3] ls /
[zookeeper, test, yarn-leader-election, hadoop-ha]
[zk: localhost:2181(CONNECTED) 4] create /test/test "test"
Created /test/test
[zk: localhost:2181(CONNECTED) 5] ls /
[zookeeper, test, yarn-leader-election, hadoop-ha]
[zk: localhost:2181(CONNECTED) 6] ls /test
[test]
3)查看节点数据
[zk: localhost:2181(CONNECTED) 7] get /test
test
cZxid = 0x400000031
ctime = Mon Oct 16 04:05:02 CST 2017
mZxid = 0x400000031
mtime = Mon Oct 16 04:05:02 CST 2017
pZxid = 0x400000032
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 1
4)设置节点数据
[zk: localhost:2181(CONNECTED) 8] set /test "666666"
cZxid = 0x400000031
ctime = Mon Oct 16 04:05:02 CST 2017
mZxid = 0x400000033
mtime = Mon Oct 16 04:08:44 CST 2017
pZxid = 0x400000032
cversion = 1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 1
[zk: localhost:2181(CONNECTED) 10] get /test
666666
cZxid = 0x400000031
ctime = Mon Oct 16 04:05:02 CST 2017
mZxid = 0x400000033
mtime = Mon Oct 16 04:08:44 CST 2017
pZxid = 0x400000032
cversion = 1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 1
5)删除节点
[zk: localhost:2181(CONNECTED) 11] delete /test
Node not empty: /test
[zk: localhost:2181(CONNECTED) 12] ls /
[zookeeper, test, yarn-leader-election, hadoop-ha]
[zk: localhost:2181(CONNECTED) 13] delete /test/test
[zk: localhost:2181(CONNECTED) 14] ls /test
[]
[zk: localhost:2181(CONNECTED) 15] delete /test
[zk: localhost:2181(CONNECTED) 16] ls /
[zookeeper, yarn-leader-election, hadoop-ha]
3、 ZooKeeper服务器端四字命令
ZooKeeper 支持某些特定的四字命令(The Four Letter Words)与其进行交互。它们大可能是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端能够经过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 ZooKeeper 经常使用四字命令主要以下:
ZooKeeper四字命令
|
功能描述
|
---|---|
conf | 3.3.0版本引入的。打印出服务相关配置的详细信息。 |
cons | 3.3.0版本引入的。列出全部链接到这台服务器的客户端所有链接/会话详细信息。包括"接受/发送"的包数量、会话id、操做延迟、最后的操做执行等等信息。 |
crst | 3.3.0版本引入的。重置全部链接的链接和会话统计信息。 |
dump | 列出那些比较重要的会话和临时节点。这个命令只能在leader节点上有用。 |
envi | 打印出服务环境的详细信息。 |
reqs | 列出未经处理的请求 |
ruok | 测试服务是否处于正确状态。若是确实如此,那么服务返回"imok",不然不作任何相应。 |
stat | 输出关于性能和链接的客户端的列表。 |
srst | 重置服务器的统计。 |
srvr | 3.3.0版本引入的。列出链接服务器的详细信息 |
wchs | 3.3.0版本引入的。列出服务器watch的详细信息。 |
wchc | 3.3.0版本引入的。经过session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表。 |
wchp | 3.3.0版本引入的。经过路径列出服务器watch的详细信息。它输出一个与session相关的路径。 |
mntr | 3.4.0版本引入的。输出可用于检测集群健康状态的变量列表 |
conf conf 命令是在 3.3.0 版本中引入的, 它会打印输出服务器配置的详细信息。以便运维人员可以很快速的查看 ZooKeeper 服务器当前运行时的一些配置参数。
能够看到有些配置项咱们没有在 zoo.cfg 配置文件中配置, 服务器使用了默认配置。
conf 命令会根据当前的运行模式来决定打印输出的服务器配置信息, 上面的两个示例是集群模式下的示例, 若是是单机模式(standalone), 则不会输出 initLimit、syncLimit、electionAlg 以及 electionPort 等集群配置信息。
cons cons 命令是 3.3.0 版本中引入的, 它用于输出全部链接到该服务器的客户端的完整链接和会话信息, 包括接收和发送包的数量、会话ID、操做延迟以及最后执行的操做等信息。
能够看到本机上有一个客户端链接。
crst crst 命令是在 3.3.0 版本中引入的, 用于重置全部客户端链接的链接和会话统计信息。
dump dump 命令用于输出未完成的会话和临时节点。
leader示例
follower示例
envi envi 命令用于打印输出服务器运行时的环境变量信息。
ruok ruok 命令用于测试当前服务器是否正在运行。若是服务器正在运行则返回 "imok", 不然没有任何响应。
须要注意的是, "imok" 响应不必定可以代表服务器已经加入到集群中, 仅仅说明服务器进程处于活动状态而且已经绑定到指定的客户端端口。 能够使用 "stat" 获取集群状态以及客户端链接信息。
srst srst 命令用于重置服务器统计信息。
srvr srvr 命令是在 3.3.0 版本中引入的, 它用于输出服务器的完整信息。
stat stat 命令用于输出服务器以及链接到该服务器的客户端的概要信息。
srvr 命令和 stat 命令的惟一区别是 srvr 不会输出客户端的概要信息。
wchs wchs 命令是在 3.3.0 版本中引入的, 用于输出当前服务器上 Watcher 的概要信息。
wchc wchc 命令是在 3.3.0 版本中引入的, 用于按会话输出当前服务器上 watches 的详细信息。它会输出会话(链接)以及相关的 watches (路径) 列表。
由于暂时没有 watches, 因此没有任何输出。
注意, 取决于 watches 的数量, 这个操做可能会很是耗时 (影响服务器性能), 因此须要谨慎使用。
wchp wchp 命令是在 3.3.0 版本中引入的, 用于按路径输出当前服务器上 watches 的详细信息。它会输出路径 (znodes) 以及相关会话列表。
一样的, 由于暂时没有 watches, 因此没有任何输出。
注意, 取决于 watches 的数量, 这个操做可能会很是耗时 (影响服务器性能), 因此须要谨慎使用。
mntr mntr 命令是在 3.4.0 版本中引入的, 用于输出可用于监控集群健康的变量列表。
leader示例
follower示例
示例说明 从上面两个示例能够看到, zk_followers, zk_synced_followers 和 zk_pending_syncs 只有在 leader 服务器上运行 mntr 命令时才会输出。还须要注意的是, zk_open_file_descriptor_count 和 zk_max_file_descriptor_count 这两个变量只有在 Unix 平台上才可用。