温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解

发布时间:2021-12-24 17:21:16 来源:亿速云 阅读:1099 作者:柒染 栏目:互联网科技

本篇文章给大家分享的是有关zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一、zkServer.sh

1、查看 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}

2、 启动/关闭 zk服务器
[root@bigdata05 bin]# ./zkServer.sh start
[root@bigdata05 bin]# ./zkServer.sh stop

3、查看服务器状态
[root@bigdata05 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /bigdata/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower


二、zkCli.sh

1、查看 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:2181

1)查看当前节点列表
[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper, yarn-leader-election, hadoop-ha]

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]

三、 ZooKeeper服务器端四字命令

ZooKeeper 支持某些特定的四字命令(The Four Letter Words)与其进行交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 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 服务器当前运行时的一些配置参数。

telnet示例

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解

可以看到有些配置项我们没有在 zoo.cfg 配置文件中配置, 服务器使用了默认配置。

nc示例

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解

运行模式

conf 命令会根据当前的运行模式来决定打印输出的服务器配置信息, 上面的两个示例是集群模式下的示例, 如果是单机模式(standalone), 则不会输出 initLimit、syncLimit、electionAlg 以及 electionPort 等集群配置信息。

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解


##cons cons 命令是 3.3.0 版本中引入的, 它用于输出所有连接到该服务器的客户端的完整连接和会话信息, 包括接收和发送包的数量、会话ID、操作延迟以及最后执行的操作等信息。

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解

可以看到本机上有一个客户端连接。


##crst crst 命令是在 3.3.0 版本中引入的, 用于重置所有客户端连接的连接和会话统计信息。

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解


##dump dump 命令用于输出未完成的会话和临时节点。 ###leader示例 zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解 ###follower示例 zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解


##envi envi 命令用于打印输出服务器运行时的环境变量信息。

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解


##ruok ruok 命令用于测试当前服务器是否正在运行。如果服务器正在运行则返回 "imok", 否则没有任何响应。

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解

需要注意的是, "imok" 响应不一定能够表明服务器已经加入到集群中, 仅仅说明服务器进程处于活动状态并且已经绑定到指定的客户端端口。 可以使用 "stat" 获取集群状态以及客户端连接信息。


##srst srst 命令用于重置服务器统计信息。

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解


##srvr srvr 命令是在 3.3.0 版本中引入的, 它用于输出服务器的完整信息。

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解


##stat stat 命令用于输出服务器以及连接到该服务器的客户端的概要信息。

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解

srvr 命令和 stat 命令的唯一区别是 srvr 不会输出客户端的概要信息。


##wchs wchs 命令是在 3.3.0 版本中引入的, 用于输出当前服务器上 Watcher 的概要信息。

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解


##wchc wchc 命令是在 3.3.0 版本中引入的, 用于按会话输出当前服务器上 watches 的详细信息。它会输出会话(连接)以及相关的 watches (路径) 列表。

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解

因为暂时没有 watches, 所以没有任何输出。

注意, 取决于 watches 的数量, 这个操作可能会非常耗时 (影响服务器性能), 所以需要谨慎使用。


##wchp wchp 命令是在 3.3.0 版本中引入的, 用于按路径输出当前服务器上 watches 的详细信息。它会输出路径 (znodes) 以及相关会话列表。

zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解

同样的, 因为暂时没有 watches, 所以没有任何输出。

注意, 取决于 watches 的数量, 这个操作可能会非常耗时 (影响服务器性能), 所以需要谨慎使用。


##mntr mntr 命令是在 3.4.0 版本中引入的, 用于输出可用于监控集群健康的变量列表。 ###leader示例 zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解 ###follower示例 zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解 

###示例说明 从上面两个示例可以看到, zk_followers, zk_synced_followers 和 zk_pending_syncs 只有在 leader 服务器上运行 mntr 命令时才会输出。还需要注意的是, zk_open_file_descriptor_count 和 zk_max_file_descriptor_count 这两个变量只有在 Unix 平台上才可用。

以上就是zookeeper中的zkServer.sh命令、zkCli.sh命令、四字命令该如何理解,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI