zookeeper系列(一)zookeeper必知
zookeeper系列(二)实战master选举
zookeeper系列(三)实战数据发布订阅
zookeeper系列(四)实战负载均衡
zookeeper系列(五)实战分布式锁
zookeeper系列(六)实战分布式队列
zookeeper系列(七)实战分布式命名服务
zookeeper系列(八)zookeeper运维java
1、ZK的最小配置
最小配置是指Zookeeper运行所需的最小配置,Zookeeper只须要配置这些项就能够正常的运行Zookeeper。算法
2、ZK的高级配置(可选)
高级配置是指有的须要直接经过系统属性进行设置)shell
3、ZK的集群配置选项数据库
4、ZK的不安全配置项apache
受权认证配置项vim
super:<base64encoded(SHA1(idpassword))> ,一旦当前链接addAuthInfo超级用户验证经过,后续全部操做都不会checkACL.segmentfault
ZooKeeper支持某些特定的四字命令字母与其的交互。它们大可能是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端能够经过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 其中stat、srvr、cons三个命令比较相似:"stat"提供服务器统计和客户端链接的通常信息;"srvr"只有服务的统计信息,"cons"提供客户端链接的更加详细的信息。
使用方式,在shell终端输入:echo mntr | nc localhost 2181安全
命令 | 示例 | 描述 |
---|---|---|
conf | echo conf nc localhost 2181 | (New in 3.3.0)输出相关服务配置的详细信息。好比端口、zk数据及日志配置路径、最大链接数,session超时时间、serverId等 |
cons | echo cons nc localhost 2181 | (New in 3.3.0)列出全部链接到这台服务器的客户端链接/会话的详细信息。包括“接受/发送”的包数量、session id 、操做延迟、最后的操做执行等信息。 |
crst | echo crst nc localhost 2181 | (New in 3.3.0)重置当前这台服务器全部链接/会话的统计信息 |
dump | echo dump nc localhost 2181 | 列出未经处理的会话和临时节点(只在leader上有效)。 |
envi | echo envi nc localhost 2181 | 输出关于服务器的环境详细信息(不一样于conf命令),好比host.name、java.version、java.home、user.dir=/data/zookeeper-3.4.6/bin之类信息 |
ruok | echo ruok nc localhost 2181 | 测试服务是否处于正确运行状态。若是正常返回"imok",不然返回空。 |
srst | echo srst nc localhost 2181 | 重置服务器的统计信息 |
srvr | echo srvr nc localhost 2181 | (New in 3.3.0)输出服务器的详细信息。zk版本、接收/发送包数量、链接数、模式(leader/follower)、节点总数。 |
stat | echo stat nc localhost 2181 | 输出服务器的详细信息:接收/发送包数量、链接数、模式(leader/follower)、节点总数、延迟。 全部客户端的列表。 |
wchs | echo wchs nc localhost 2181 | (New in 3.3.0)列出服务器watches的简洁信息:链接总数、watching节点总数和watches总数 |
wchc | echo wchc nc localhost 2181 | (New in 3.3.0)经过session分组,列出watch的全部节点,它的输出是一个与 watch 相关的会话的节点列表。若是watches数量很大的话,将会产生很大的开销,会影响性能,当心使用。 |
wchp | echo wchp nc localhost 2181 | (New in 3.3.0)经过路径分组,列出全部的 watch 的session id信息。它输出一个与 session 相关的路径。若是watches数量很大的话,将会产生很大的开销,会影响性能,当心使用。 |
mntr | echo mntr nc localhost 2181 | (New in 3.4.0)列出集群的健康状态。包括“接受/发送”的包数量、操做延迟、当前服务模式(leader/follower)、节点总数、watch总数、临时节点总数。 |
开启JMX监控:
修改zookeeper的启动脚本vim zkServer.sh。找到启动参数ZOOMAIN,修改成下面值。
其中local.only=false,设为false才能在远程创建链接。服务器
ZOOMAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=9991 -Dcom.sun.management.jmxremote.ssl=true -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.access.file=/data/zookeeper/conf/jmxremote.access -Dcom.sun.management.jmxremote.password.file=/data/zookeeper/conf/jmxremote.password -Dzookeeper.jmx.log4j.disable=true org.apache.zookeeper.server.quorum.QuorumPeerMain"
在/data/zookeeper/conf目录下创建2个访问受权文件, 修改文件权限chmod 600 jmxremote.*网络
-rw------- 1 deploy deploy 149 Aug 6 13:44 jmxremote.access -rw------- 1 deploy deploy 40 Aug 6 13:46 jmxremote.password [deploy@liutp conf]$ pwd /data/zookeeper/conf [deploy@liutp conf]$ cat jmxremote.access monitorRole readonly controlRole readwrite \ create javax.management.monitor.*,javax.management.timer.* \ unregister [deploy@liutp conf]$ cat jmxremote.password monitorRole 1234567 controlRole 1234567 [deploy@liutp conf]$
重启zookeeper
使用Java自带的JConsole
在命令行输入JConsole,再回车。
在弹出的界面选择“远程进程”,输入“服务器IP:9991”(zookeeper服务器的IP和端口)
exhibitor:可以配置zookeeper而且自由浏览、修改节点数据,查看运行状态信息,自动或手动重启;
zabbix:对CPU负载,内存使用,磁盘使用、网络状态作监控;
zookeeper系列(一)zookeeper必知
zookeeper系列(二)实战master选举
zookeeper系列(三)实战数据发布订阅
zookeeper系列(四)实战负载均衡
zookeeper系列(五)实战分布式锁
zookeeper系列(六)实战分布式队列
zookeeper系列(七)实战分布式命名服务
zookeeper系列(八)zookeeper运维