监控Zookeeper通常有两种方式,一种是通过四字命令,另一种是通过jmx进行。接下来根据我的实际项目采用的方式(jmx)进行基础的配置说明.
本机环境:
1. CentOS7
2. Jdk7
一、Zookeeper安装启动运行
安装前提:在所在Linux机器上安装jdk,如何安装这里不说了。
1.把下载到本地的压缩包zookeeper-3.4.6.tar.gz上传到远程的linux机器/opt文件夹下面:
或者直接在Linux系统的文件夹/opt直接下载此压缩包:
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
2.连接远程linux进入到/opt文件夹,解压压缩包:
tar xzvf zookeeper-3.4.6.tar.gz
修改解压出文件夹文件名为zookeeper:
mv zookeeper-3.4.6.tar.gz zookeeper
3.修改目录/opt/conf下的zoo_sample.cfg文件,并拷贝一份重命名为zoo.cfg:cp zoo_sample.cfg zoo.cfg
修改zoo.cfg中文件的内容:
快照文件目录的修改,并对应的创建zookeeper文件夹:dataDir=/var/zookeeper #存储快照文件的目录
端口不必修改:clientPort=2181 #对外提供服务的端口号
添加部署zookeeper服务区机器配置:server.id=host:port:port
zookeeper的id=ip:follower\leader服务区的端口:leader投票选举的端口号
server.1=10.128.106.180:2888:3888
server.2=10.128.106.176:2888:3888
server.3=10.128.106.177:2888:3888
4.将配置行的zoo.cfg文件拷贝到另外两台机器上
scp zoo.cfg root@10.128.106.176:/opt/zookeeper/conf
5.在/var/zookeeper中新建一个文件 vi myid ,在其中输入对应加入server.id 的id值,如:在10.128.106.180机器上,文件myid中值为1; 10.128.106.176机器上,文件myid中值为2; 10.128.106.177机器上,文件myid中值为3
6.启动zookeeper,至少起动一半的集群机器
cd /opt/zookeeper/bin ./zkserver.sh start
7.验证是否成功启动
使用telnet命令(安装telnet:yum install telnet)
输入命令:telnet 10.128.106.176 2181
输入命令:stat
8.集群模式
伪集群模式:(本机采用方式)
server.1=10.128.106.180:2888:3888
server.2=10.128.106.180:2889:3889
server.3=10.128.106.180:2890:3890
单机模式:
server.1=10.128.106.180:2888:3888
二、 Zookeeper通过imx获取监控指标
1.关闭防火墙或者端口设置例外:iptables
查看防火墙状态:firewall-cmd --state
禁用:firewall-cmd --panic-off
或者 systemctl stop firewalld
启用:
2.修改Zookeeper服务器启动脚本
编辑zkServer.sh文件 修改ZOOMAIN=“-Dcom.sun.manager……”
将其中 修改
-Dcom.sun.management.jmxremote.local.only=false
增加:
-Djava.rmi.server.hostname=10.128.106.180
-Dcom.sun.management.jmxremote.port=8899
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
3.使用console管理Zookeeper
ip+port连接即可