读《分布式一致性原理》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下载

读《分布式一致性原理》系统模型

《从Paxos到Zookeeper分布式一致性原理与实践》

一文读懂Zookeeper原子广播原理 深入浅出Zookeeper

从Paxos到zookeeper分布式一致性原理与实践-Zookeeper与Paxos

ZooKeeper学习第七期--ZooKeeper一致性原理