您的位置:

zkcli命令详解

Zookeeper是一个分布式的、高可靠性的、高性能的协调服务,为构建大规模分布式系统提供了有力支持。Zookeeper的数据结构为树形结构,它的节点称为znode,每个znode是用于存储数据的一个节点。zkcli是Zookeeper的命令行客户端,它提供了一个交互式命令行界面,可以通过zkcli来管理Zookeeper服务器。本篇文章将从zkcli命令详解、zkcli命令查看集群状态、zkcli远程连接命令三方面来介绍zkcli。

一、zkcli命令详解

zkcli命令行客户端提供了一系列命令,可以通过这些命令来管理zk服务器。下面介绍zkcli中常用的命令。

1、help - 帮助命令

zookeeper@localhost:2181:> 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
	help
	quit

执行help命令可以查看zkcli的所有命令,以及命令的作用。

2、create - 创建节点命令

zookeeper@localhost:2181:> create /test "hello world"
Created /test

执行create命令可以在指定的路径下创建一个节点,-s表示节点是顺序节点,-e表示节点是临时节点。

3、get - 获取节点数据命令

zookeeper@localhost:2181:> get /test
hello world
cZxid = 0xc
ctime = Wed Dec 09 00:52:04 CST 2020
mZxid = 0xc
mtime = Wed Dec 09 00:52:04 CST 2020
pZxid = 0xc
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 0

执行get命令可以获取指定节点的数据信息。

4、ls - 列出子节点命令

zookeeper@localhost:2181:> ls /
[test]

执行ls命令可以列出指定路径下的子节点。

5、set - 修改节点数据命令

zookeeper@localhost:2181:> set /test "new data"
cZxid = 0xc
ctime = Wed Dec 09 00:52:04 CST 2020
mZxid = 0xd
mtime = Wed Dec 09 00:54:30 CST 2020
pZxid = 0xc
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 8
numChildren = 0

执行set命令可以修改指定节点的数据信息。

二、zkcli命令查看集群状态

zkcli命令行客户端提供了查看集群状态的命令,来帮助我们了解集群的运行状态。

1、stat - 查看节点状态命令

zookeeper@localhost:2181:> stat /
Zookeeper version: 3.5.7-f0fdd52973d373ffd9c86b81d99842dc2c7f660e, built on 02/10/2020 11:30 GMT
Clients:
 /127.0.0.1:49530[0](queued=0,recved=1,sent=0)
 /127.0.0.1:55000[1](queued=0,recved=1,sent=0)

Latency min/avg/max: 1/2/5
Received: 2
Sent: 1
Connections: 2
Outstanding: 0
Zxid: 0x4
Mode: follower
Node count: 4

执行stat命令可以查看指定节点的状态信息,包括版本号、客户端、延迟、连接数等信息。

2、srvr - 查看服务器状态命令

zookeeper@localhost:2181:> srvr
Zookeeper version: 3.5.7-f0fdd52973d373ffd9c86b81d99842dc2c7f660e, built on 02/10/2020 11:30 GMT
Latency min/avg/max: 0/0/0
Received: 2
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x40000000e
Mode: standalone
Node count: 4

0	277	1048576000	Thu Dec 03 18:25:24 CST 2020	dataDir version=0x40000000e txnlog=0x40000000f

执行srvr命令可以查看Zookeeper服务器的状态信息。

三、zkcli远程连接命令

我们可以通过zkcli连接远程的Zookeeper服务器,进行远程管理。

1、connect - 连接命令

zookeeper@localhost:2181:> connect remote_host:port

执行connect命令可以连接指定的远程Zookeeper服务器。

2、close - 关闭连接命令

zookeeper@localhost:2181:> close

执行close命令可以关闭当前连接到的Zookeeper服务器。

3、addauth - 认证命令

zookeeper@localhost:2181:> addauth digest username:password

执行addauth命令可以使用指定的用户名和密码对远程Zookeeper服务器进行认证。

4、reconfig - 重新配置命令

zookeeper@localhost:2181:> reconfig -add server.id=server:port:port:participant;server.id=server:port:port:participant

执行reconfig命令可以重新配置远程Zookeeper服务器的参与者。

5、ruok - 健康检查命令

zookeeper@localhost:2181:> ruok
imok

执行ruok命令可以检查远程Zookeeper服务器是否正常。