理解Zookeeper(五):通过JMX查看Zookeeper信息
JMX是对运行中的JAVA系统进行管控。目前ZK使用标准的JMX接口。
修改ZK的启动脚本
Zookeeper默认开启JMX,但是只能从本地连接无法从远程连接。
zkServer.sh这个启动脚本进行修改,第一句不是必须的,但是第二句是必须的
在conf目录下新建java.env文件
重新启动
为什么要在conf里面建立一个java.env呢?其实你都写在zkServer.sh中也行,但是很不利于管理,其实这个脚本本身就考虑使用变量。至于为什么是java.env,那就要看bin目录下面的zkEnv.sh脚本了。根据变量你可以找到它加载zoo.cfg的路径,那么它这里有一个java.env,而且还进行了加载(.),因为默认没有,所以它这里有一个判断。那么你需要的JAVA变量比如调整JVM的参数还有JMX的参数都可以写在这里。之后需要做的就是在zkServer.sh里面使用变量就好了。这样也利于维护。
通过Jconsole连接
这里说明我们当前连接的是id为3的那台服务器。
查看ID为3的属性,这里它有一个Follower节点,说明当前我们连接的这台ZK是从服务器角色。如果出现的是Leader那么该节点就是主服务器。
通过JMX可以查看到当前ZK服务器所配置的所有参数以及当前运行状态。