ZooKeeper 06 - ZooKeeper 的常用命令

时间:2021-01-08 20:09:48

若要部署 ZooKeeper 单机环境,请查看此篇:https://www.cnblogs.com/shoufeng/p/10591508.html

若要部署 ZooKeeper 集群环境,请查看此篇:https://www.cnblogs.com/shoufeng/p/10591526.html

1 - 服务端常用命令

直接执行 zkServer.sh,会给出如下提示:

ZooKeeper JMX enabled by default
Using config: /data/zookeeper-3.5.8/bin/../conf/zoo.cfg
Usage: ./zkServer.sh [--config <conf-dir>] {start|start-foreground|stop|restart|status|print-cmd}

根据上面的提示,可以知道此脚本可以通过指定参数来执行不同的功能:

# 启动服务:
sh zkServer.sh start # 查看服务状态:
sh zkServer.sh status # 停止服务:
sh zkServer.sh stop # 重启服务:
sh zkServer.sh restart

2 - 客户端常用命令

使用 zkCli.sh -server ip:2181 连接到 ZooKeeper 服务,控制台就会输出 ZooKeeper 的相关环境以及配置信息。

# 查看某个目录下的节点:
ls /zookeeper
# 查看当前节点数据并能看到更新次数等数据
ls -s /zookeeper # 创建新的 Znode,并设置数据:[-e] 是临时节点,[-s] 是顺序节点
create /test "test-znode"
# 获取节点中的数据
get /test
# 修改节点内容
set /test "test-update" # 删除节点,如果存在子节点删除失败
delete /test # 递归删除当前节点及其下的所有子节点
deleteall /test

3 - 常用四字命令

可通过 telnet 或 nc 提交四字命令与 ZooKeeper 交互,比如获取 ZooKeeper 服务的状态等。

先安装好 nc:yum -y install nc

# 查看哪个节点被选择作 leader 或 follower
echo stat | nc 127.0.0.1 2181
# 测试是否启动该Server,若回复 imok 表示已经启动
echo ruok | nc 127.0.0.1 2181
# 列出未经处理的会话和临时节点
echo dump | nc 127.0.0.1 2181 # 输出服务配置的详细信息
echo conf | nc 127.0.0.1 2181
# 列出所有连接到该 Server 的客户端的连接 / 会话的详细信息
echo cons | nc 127.0.0.1 2181 # 输出关于服务环境的详细信息(区别于 conf 命令)
echo envi | nc 127.0.0.1 2181 # 列出未经处理的请求
echo reqs | nc 127.0.0.1 2181 # 列出服务器 watch 的详细信息
echo wchs | nc 127.0.0.1 2181
# 通过 session 列出服务器 watch 的详细信息,结果是一个与 watch 相关的会话列表
echo wchc | nc 127.0.0.1 2181
# 通过路径列出服务器 watch 的详细信息,结果是一个与 session 相关的路径
echo wchp | nc 127.0.0.1 2181 # 关掉该 Server
echo kill | nc 127.0.0.1 2181

4 - ZooKeeper 日志的可视化

ZooKeeper 的配置文件中指定的 dataDir 目录,用来存放快照数据,dataLogDir 用来存放事务日志文件。

打开这两个目录下的文件,会发现它们都是乱码的,这个时候可以通过如下方法打开:

# 查看事务日志,指定 jar 包、启动类和日志文件的绝对路径:
java -cp /data/zookeeper-3.5.8/lib/zookeeper-3.5.8.jar:/data/zookeeper-3.5.8/lib/zookeeper-jute-3.5.8.jar:/data/zookeeper-3.5.8/lib/slf4j-api-1.7.25.jar \
org.apache.zookeeper.server.LogFormatter \
/data/zookeeper-3.5.8/data/log/version-2/log.d96 # 查看快照数据,指定 jar 包、启动类和数据文件的绝对路径:
java -cp /data/zookeeper-3.5.8/lib/zookeeper-3.5.8.jar:/data/zookeeper-3.5.8/lib/zookeeper-jute-3.5.8.jar:/data/zookeeper-3.5.8/lib/slf4j-api-1.7.25.jar \
org.apache.zookeeper.server.SnapshotFormatter \
/data/zookeeper-3.5.8/data/version-2/snapshot.d95

版权声明

作者:瘦风(https://healchow.com)

出处:博客园-瘦风的南墙(https://www.cnblogs.com/shoufeng)

感谢阅读,公众号 「瘦风的南墙」 ,手机端阅读更佳,还有其他福利和心得输出,欢迎扫码关注

ZooKeeper 06 - ZooKeeper 的常用命令

本文版权归博主所有,欢迎转载,但 [必须在页面明显位置标明原文链接],否则博主保留追究相关人士法律责任的权利。