ZooKeeper服务可以通过以下两种方式进行监控:

  • 使用一组四个字母的单词命令来监视健康状态
  • 使用ZooKeeper内置的Java管理扩展功能

四个字母的单词命令

ZooKeeper响应一组命令,每个命令由四个字母组成。这些命令可以通过telnetnc在客户端端口发出。这些命令的主要目标是提供一个简单的机制来检查服务器的运行状况或诊断任何问题。

以下由ZooKeeper服务支持的四个字母的单词:

  • conf:打印有关服务器配置参数(如clientPort,dataDir,tickTime等)的详细信息。
  • cons:列出了连接到此服务器的所有客户端的完整连接/会话的详细信息。
  • crst:重置所有连接/会话的统计信息。
  • dump:列出未完成的会话和ephemeral节点。这只对领导者有效。
  • envi:列出环境参数。
  • ruok:检查服务器是否运行没有任何错误。如果imok正在运行,服务器将会响应。如果服务器处于某个错误状态,它将不响应此命令。
  • srst:重置服务器统计信息。
  • stat:提供有关服务器的当前状态和连接的客户端列表的信息。
  • srvr:提供了与stat命令相同的信息,但连接的客户端列表除外。
  • wchs:提供了服务器监视的简要信息。
  • wchc:提供了服务器监视的详细信息,按会话(连接)排序,显示与之关联监视(路径)的会话列表。
  • wchp:提供了服务器监视的详细信息,按路径(znode)排序。 显示关联会话的路径列表。
  • mntr:输出可用于监视群集运行状况的变量列表。

运行这些四个字母命令来监视ZooKeeper服务器的当前状态的示例如下所示:

Java管理扩展

ZooKeeper为Java管理扩展(JMX)提供了广泛的监视和管理功能。我们将使用jconsole,一个带有JMX的简单管理控制台,来探索ZooKeeper的管理功能。

Tips
有关更多设置JMX进行监视和管理的详细信息,请访问https://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html。

现在,从ZooKeeper运行的同一系统上的命令行启动jconsole。在本例中,ZooKeeper服务在本地主机上运行。运行jconsole启动一个类似于以下屏幕截图中的窗口:

可以看到,jconsole发现了PID 4824的ZooKeeper进程。通过双击它来连接到这个进程。一旦jconsole连接到ZooKeeper进程,就会看到一个类似于下面的窗口,它有各种形式的系统统计信息,比如内存使用、线程、特定于jvm的信息等等。这些统计数据和系统计数器对于监视ZooKeeper服务器的状态非常重要,并有助于在生产集群中调试性能问题。

MBeans选项卡显示有关ZooKeeper内部状态的详细信息,如连接的客户端的详细信息以及有关在ZooKeeper名称空间中执行的操作的各种属性和详细信息。 Managed Beans(MBeans)是通过JMX公开ZooKeeper服务器上的内部信息的一种非常优雅和灵活的方式。

Tips
有关ZooKeeper管理和监视可用的各种MBeans的更多详细信息,请参阅https://zookeeper.apache.org/doc/trunk/zookeeperJMX.html。

14. 监视ZooKeeper实例的更多相关文章

  1. PHP 14:类的实例

    原文:PHP 14:类的实例 在本章中我们将介绍一个实例,来进一步对类加深了解.本章构建一个Page类,它代表了一个页面.其中有显示页面的title,样式,内容等函数.此页面的效果如下:我们将把这个页 ...

  2. Dubbo集成Spring与Zookeeper实例

    >>Dubbo最佳实践 使用Dubbo结合Zookeeper和Spring,是使用比较广泛的一种组合,下面参考官方文档,做个简单的示例,一步步搭建一个使用dubbo结合Zookeeper和 ...

  3. SpringBoot+Dubbo+Zookeeper 实例

    前言 当下Java 生态环境里面,微服务占据了非常大的份额,现在大部分新开发的 Java选型的后台程序都很奇妙的会跟微服务发生一些关系.那目前市面上主流的微服务方向主要有 Spring 家族推出的Sp ...

  4. 【python之路14】发送邮件实例

    1.发邮件的代码 from email.mime.text import MIMEText from email.utils import formataddr import smtplib msg ...

  5. 初识ZooKeeper与集群搭建实例

    原文链接:http://www.linuxidc.com/Linux/2015-02/114230.htm zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Ch ...

  6. java 学习笔记(三)ZooKeeper集群搭建实例,以及集成dubbo时的配置 (转)

    ZooKeeper集群搭建实例,以及集成dubbo时的配置 zookeeper是什么: Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式 ...

  7. zookeeper barrier和queue应用实例

    package org.windwant.zookeeper; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper. ...

  8. zookeeper节点Watch机制实例展示

    znode以某种方式发生变化时,“观察”(watch)机制可以让客户端得到通知.可以针对ZooKeeper服务的“操作”来设置观察,该服务的其他 操作可以触发观察. 实现Watcher,复写proce ...

  9. 初始zookeeper与集群搭建实例

    zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务, ...

随机推荐

  1. C++数组做参数

    首先,看一下下面这段代码: void changearr(int a[],int n){    cout<<sizeof(a)<<endl;         // 输出4}in ...

  2. vue数据请求

    我是vue菜鸟,第一次用vue做项目,写一些自己的理解,可能有些不正确,欢迎纠正. vue开发环境要配置本地代理服务.把config文件加下的index.js里的dev添加一些内容, dev: { e ...

  3. LeetCode 581. Shortest Unsorted Continuous Subarray (最短无序连续子数组)

    Given an integer array, you need to find one continuous subarray that if you only sort this subarray ...

  4. co源码分析及其实践

    本文始发于我的个人博客,如需转载请注明出处. 为了更好的阅读体验,可以直接进去我的个人博客看. 前言 知识储备 阅读本文需要对Generator和Promise有一个基本的了解. 这里我简单地介绍一下 ...

  5. 1_ROS学习

    1_搭建树莓派环境 树莓派是一个嵌入式计算机,专门用来做嵌入式开发的.我们组上用的树莓派是raspberry pi 3 mode B,5V供电,最大电流不超过2A: 我们需要在树莓派上安装上操作系统. ...

  6. css3+div画大风车

    今天已经礼拜三了,周天小颖家的佩佩就要结婚啦,小颖要去当伴娘了,哈哈哈哈哈哈,想想都觉得乐开了花,不过之前她给我说让我当她伴娘时,我说我要减肥,不然她那么瘦弱,我站旁边就感觉像一个圆滚滚的小皮球,小颖 ...

  7. 微信小程序图片放大预览

    需求:当点击图片时,当前图片放大预览,且可以左右滑动 实现方式:使用微信小程序图片预览接口 我们可以看到api需要两个参数,分别通过下面的data-list和data-src来传到js中 wxml代码 ...

  8. java项目log4j日志打印配置

    #定义输出级别和输出平台  添加DEBUG表示打印sql 语句 log4j.rootLogger=DEBUG,INFO,ERROR,stdout,R log4j.category.org.spring ...

  9. 原生JS实现Ajax及Ajax的跨域请求

      前  言          如今,从事前端方面的程序猿们,如果,不懂一些前后台的数据交互方面的知识的话,估计都不太好意思说自己是程序猿.当然,如今有着许多的框架,都有相对应的前后台数据交互的方法. ...

  10. python抓去网页一部分

    import sys, urllib2 headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9. ...