温馨提示×

linux zookeeper如何查看状态

小樊
50
2026-09-22 18:28:53
栏目: 智能运维

在 Linux 上查看 ZooKeeper 的状态,常见有以下几种方式,按使用频率从高到低说明:


一、使用 ZooKeeper 自带脚本(最常用)

1. 查看服务状态

zkServer.sh status

输出示例:

ZooKeeper JMX enabled by default
Using config: /etc/zookeeper/conf/zoo.cfg
Mode: leader

或

Mode: follower

如果提示 Error contacting service. It is probably not running.,说明服务未启动或端口不通。


2. 启动 / 停止 / 重启

zkServer.sh start
zkServer.sh stop
zkServer.sh restart

二、使用四字命令(非常实用)

ZooKeeper 提供了一组 四字命令(4-letter words),可直接查看运行状态。

1. 查看基本状态

echo stat | nc localhost 2181

输出示例:

Zookeeper version: 3.7.1
Clients:
 /127.0.0.1:12345[1](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 10
Sent: 9
Connections: 1
Outstanding: 0
Zxid: 0x100000000
Mode: leader
Node count: 4

2. 其他常用四字命令

echo ruok | nc localhost 2181   # 健康检查,返回 imok
echo mntr | nc localhost 2181   # 监控指标(推荐)
echo conf | nc localhost 2181   # 配置信息
echo envi | nc localhost 2181   # 环境信息

如果 nc 不存在,可用:

echo stat | telnet localhost 2181

⚠️ 注意:
四字命令需要在 zoo.cfg 中未被禁用:

4lw.commands.whitelist=*

三、使用 ZooKeeper 客户端

1. 进入 CLI

zkCli.sh -server localhost:2181

2. 查看节点状态

ls /
stat /

四、查看进程和端口

1. 查看进程

ps -ef | grep zookeeper

2. 查看端口

netstat -tnlp | grep 2181
# 或
ss -tnlp | grep 2181

五、查看日志(排查问题)

日志位置取决于安装方式:

  • 包安装(如 apt/yum):
/var/log/zookeeper/zookeeper.log
  • 源码/二进制安装:
$ZOOKEEPER_HOME/logs/

六、常见判断总结

现象 说明
Mode: leader / follower 正常
Error contacting service 未启动或端口异常
ruok → imok 服务健康
mntr 无输出 四字命令被禁用

如果你能告诉我:

  • ZooKeeper 版本
  • 安装方式(apt / yum / 二进制 / Docker)
  • 是单机还是集群

我可以给你更精确的命令。

0 踩