14. 监视ZooKeeper实例
ZooKeeper服务可以通过以下两种方式进行监控:
- 使用一组四个字母的单词命令来监视健康状态
- 使用ZooKeeper内置的Java管理扩展功能
四个字母的单词命令
ZooKeeper响应一组命令,每个命令由四个字母组成。这些命令可以通过telnet
或nc
在客户端端口发出。这些命令的主要目标是提供一个简单的机制来检查服务器的运行状况或诊断任何问题。
以下由ZooKeeper服务支持的四个字母的单词:
- conf:打印有关服务器配置参数(如clientPort,dataDir,tickTime等)的详细信息。
- cons:列出了连接到此服务器的所有客户端的完整连接/会话的详细信息。
- crst:重置所有连接/会话的统计信息。
- dump:列出未完成的会话和ephemeral节点。这只对领导者有效。
- envi:列出环境参数。
- ruok:检查服务器是否运行没有任何错误。如果
imok
正在运行,服务器将会响应。如果服务器处于某个错误状态,它将不响应此命令。 - srst:重置服务器统计信息。
- stat:提供有关服务器的当前状态和连接的客户端列表的信息。
- srvr:提供了与
stat
命令相同的信息,但连接的客户端列表除外。 - wchs:提供了服务器监视的简要信息。
- wchc:提供了服务器监视的详细信息,按会话(连接)排序,显示与之关联监视(路径)的会话列表。
- wchp:提供了服务器监视的详细信息,按路径(znode)排序。 显示关联会话的路径列表。
- mntr:输出可用于监视群集运行状况的变量列表。

Java管理扩展
ZooKeeper为Java管理扩展(JMX)提供了广泛的监视和管理功能。我们将使用jconsole,一个带有JMX的简单管理控制台,来探索ZooKeeper的管理功能。
现在,从ZooKeeper运行的同一系统上的命令行启动jconsole。在本例中,ZooKeeper服务在本地主机上运行。运行jconsole启动一个类似于以下屏幕截图中的窗口:Tips
有关更多设置JMX进行监视和管理的详细信息,请访问https://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html。


MBeans选项卡显示有关ZooKeeper内部状态的详细信息,如连接的客户端的详细信息以及有关在ZooKeeper名称空间中执行的操作的各种属性和详细信息。 Managed Beans(MBeans)是通过JMX公开ZooKeeper服务器上的内部信息的一种非常优雅和灵活的方式。
Tips
有关ZooKeeper管理和监视可用的各种MBeans的更多详细信息,请参阅https://zookeeper.apache.org/doc/trunk/zookeeperJMX.html。

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?