ZooKeeper监控工具(六)
之前说了那么多配置信息,具体做的怎么样,还需要真正的获取ZooKeeper的运行时信息才行。这里介绍ZooKeeper的监控。
有如下方式:
- 使用内置的四字命令来获取健康状态信息
- 使用JMX查看运行状态
- 使用Exhibitor
- 使用Sass
四字命令
最简单的监控方式就是使用ZooKeeper的四字命令,你可以直接通过telnet或者nc命令查看状态。
常用的四字命令如下:
- conf: 打印ZooKeeper的配置信息
- cons: 列出所有的客户端会话链接
- crst: 重置所有的客户端连接
- dump: 打印集群的所有会话信息,包括ID,以及临时节点等信息。用在Leader节点上才有效果。
- envi: 列出所有的环境参数
- ruok: "谐音为Are you ok"。检查当前服务器是否正在运行。
- stat: 获取ZooKeeper服务器运行时的状态信息,包括版本,运行时角色,集群节点个数等信息。
- srst: 重置服务器统计信息
- srvr: 和stat输出信息一样,只不过少了客户端连接信息。
- wchs: 输出当前服务器上管理的Watcher概要信息
- wchc: 输出当前服务器上管理的Watcher的详细信息,以session为单位进行归组
- wchp: 和wchc非常相似,但是以节点路径进行归组
- mntr: 输出比stat更为详细的服务器统计信息
JMX
JMX是用来远程监控Java应用的框架,这个也可以用来监控其他的Java应用。JMX使用起来也很简单。
在运行Java的jar的时候:
//不需要用户密码的 -Dcom.sun.management.jmxremote.port=5000 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false // 使用需要用户密码登录的 -Dcom.sun.management.jmxremote.port=5000 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.access.file=jmxremote.access -Dcom.sun.management.jmxremote.password.file=jmxremote.password cat jmxremote.access monitorRole readonly controlRole readwrite cat jmxremote.password monitorRole mypassword controlRole mypassword
接下来,我们可以使用jConsole或者VisualVM进行监控。
默认情况下,ZooKeeper允许本地进行监控。
如果想要远程监控,可以修改zkServer.sh文件中的shell脚本
修改方式为我们刚才看到的加上
-Dcom.sun.management.jmxremote.access.file=jmxremote.access -Dcom.sun.management.jmxremote.password.file=jmxremote.password
Exhibitor
Exhibitor是一个ZooKeeper的管理工具,由Netfix公司开发,在ZooKeeper监控,备份恢复,清洁,在可视化上提供了不小的帮助。
- 首先我们下载exhibitor的pom文件
mkdir build cd build wget -c https://raw.github.com/Netflix/exhibitor/master/exhibitor-standalone/src/main/resources/buildscripts/standalone/maven/pom.xml
- 打包编译jar包
//这个打包的时间真心长 mvn clean package // 测试是否正确打包,这个exhibitor根据你自己打包出来的文件名进行测试 java -jar target/exhibitor-1.6.0.jar --help
- 运行
java -jar exhibitor-1.6.0.jar -c file
在浏览器中输入exhibitor的地址
http://服务器地址:8080/exhibitor/v1/ui/index.html-
配置Exhibitor
- 更多Exhitor的详细信息,参考github的wiki
https://github.com/soabase/exhibitor/wiki
云服务商
当然也有一些云服务商提供ZooKeeper的监控服务,一般都是收费的。
国外的有:server density. 网站:https://www.serverdensity.com/
最后
在看ZooKeeper监控的时候,发现ZooKeeper的监控工具都很老了,大部分都是几年前的了,ZooKeeper这是要被淘汰了吗...,好用的软件应该都有很好用的工具才对。不过既然当初它那么流行,还是有值得研究的地方...
参考
- 《从Paxos到ZooKeeper-分布式一致性原理与实践》
- 《Apache ZooKeeper Essetial》
- Exhibitor Wiki
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
20180403_调bug_大地保险_jar包冲突
一、异常现象 他们程序在本地通过java形式直接跑起来的时候,是正常的。 但是测试服务器上,程序跑到一半就不继续往下走了,而且,也不报错,日志里面没有任何信息。 二、异常解决 1.核心思想 抽丝剥茧,层层逼近。缩小bug出现的范围。 2.异常解决过程 参考:java根据jar包反编译后修改再打包回jar的做法 2.1 反编译jar包 使用jd-gui反编译jar包(A),复制反编译后的class文件里的内容 2.2 修改java文件 在eclipse中新建一个工程,新建一个java类,类名和class文件名称一致,将class文件的内容粘贴进来 然后再修改java文件的内容。这里主要是增加一些打印语句 2.3 eclipse打jar包 通过eclipse将2.2中的工程打成一个jar包(B),用解压工具(如好压)解压 再将原本的jar包(A),用解压缩工具解压得到文件夹C。 将修改后class文件替换掉文件夹C中的class文件 2.4 命令行打jar包 从命令行进入到文件夹C,执行打包命令: jar -cvf bbb.jar * //将文件夹C中的所有文件打包进bbb.j...
- 下一篇
Windows源码安装PyTorch 0.4
在Windows安装源码安装PyTorch 0.4。 Windows 10 HomeVisual Studio 2017 CommunityCUDA 9.0 + cuDNN 7.0Anaconda 5,Python 3.6.4 1、安装软件 1.1、安装Visual Studio 需要安装Visual Studio 2017,免费的Community版是可以的,不要预览版,正式版即可。打开Visual Studio Installer,需要安装: 使用C++桌面开发 VC++ 2017版本 v14.11工具箱 Anaconda也可以勾选,这样你就可以跳过安装Anaconda这一步 安装即可。 1.2、安装Anaconda 下载Anaconda,Python3版本。安装,勾选添加到PATH,没有勾选的话手动添加吧! 1.3、安装CUDA和cuDNN 没有英伟达显卡或者不需要英伟达显卡支持跳过,安装时需要设置环境变量NO_CUDA=1。我安装的是CUDA 9.0、cuDNN 7.0需要勾选Nsight Visual Studio Edition。 2、安装PyTorch 2.1、前期准备 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- MySQL8.0.19开启GTID主从同步CentOS8
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装