读《分布式一致性原理》zookeeper运维
Posted duan2
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读《分布式一致性原理》zookeeper运维相关的知识,希望对你有一定的参考价值。
1.配置详解
1.1基本配置
基本参数包括clientPort,dataDir和tickTime
1.2高级配置
下面我们再来看看zookeeper中一些高级配置参数的配置实用
2.四字命令
我们曾经讲到使用stat命令来验证zookeeper服务器是否启动成功,这里stat命令就是zookeeper中最为经典的命令
之一。四字命令的使用方式非常简单,通常有两种方式。第一种是通过Telnet方式,使用telnet客户端登陆zookeeper的
对外服务端口,然后直接输入四字命令即可。
conf
conf命令用于输出zookeeper服务器运行时使用的基本配置信息,包括clientPort端口,dataDir和tickTime等。
cons
cons命令用于输出当前这台服务器上所有客户端连接的详细信息,包括每个客户端的客户端IP,会话ID和最后一次
与服务器交互的操作类型等。
crst
crst是一个功能性命令,用于重置所有的客户端连接统计信息。
dump
dump命令用于输出当前集群的所有会话信息,包括这些会话的会话ID,以及每个会话创建的临时节点等信息。
envi
用于输出zookeeper所在服务器运行时的环境信息。包括os.version,java.version,和user.home等。
ruok
ruok命令用于输出当前zookeeper服务器是否正常运行。如果正常运行则返回“imok”,否则没有任何响应输出。
stat
stat命令用于获取zookeeper服务器的运行的状态信息。包括zookeeper的版本,打包信息,运行时橘色,集群数据
节点个数等。
wchs
wchs命令用于输出当前服务器上管理的watcher的概要信息。
2.JMX
JMX是一个为应用程序,设备,系统等植入管理的功能的框架,能够非常方便的让java系统对外提供运行时数据信息
获取和系统管控的接口。
2.1.开启远程的JMX
从官网上下载的zookeeper默认开启了JMX功能,但是却限本地连接。无法通过远程连接,读者可以打开bin目录下的
zkServier.sh文件,找到如下配置
在这个配置中并没有开启远程连接JMX的端口信息,通常需要加入以下三个配置才能开启远程的JMX:
例如我们配置开启远程JMX端口为21811,同时不需要任何权限。如下图
2.2通过Jconsole连接zookeeper
Jconsole(java监视管理和控制台)是一个java内置的基于JMX的图形化管理工具,
是最常用的JMX连接器。
假设我们搭建了一个由三台服务器组成的zookeeper集群,分别有机器ABC,其中C是leader,
A和B是Follower,并都开启了JMX远程端口:21881.
使用JConSole,我们首先连接上服务器A,连接成功后。
连接成功后,我们可以看到界面上一次有“概述”,内存和线程等标签页都是Jconsole上的基本信息,可以读其他资料来了解。
本书主要讲解Mybean的标签页中的信息。
在MBean标签页中,可以看到Org.apache.zookeeperService节点,及树状结构的子节点列表,这些都是zookeeper服务器对外暴露的MBean。
可以操作看看
以上是关于读《分布式一致性原理》zookeeper运维的主要内容,如果未能解决你的问题,请参考以下文章
《从Paxos到Zookeeper:分布式一致性原理与实践》PDF下载
一文读懂Zookeeper原子广播原理 深入浅出Zookeeper