监控Zookeeper通常有两种方式,一种是通过四字命令,另一种是通过jmx进行。接下来根据我的实际项目采用的方式(jmx)进行基础的配置说明.
本机环境: 1. CentOS7 2. Jdk7
安装前提:在所在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.gz2.连接远程linux进入到/opt文件夹,解压压缩包:
tar xzvf zookeeper-3.4.6.tar.gz 修改解压出文件夹文件名为zookeeper: mv zookeeper-3.4.6.tar.gz zookeeper3.修改目录/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:38884.将配置行的zoo.cfg文件拷贝到另外两台机器上
scp zoo.cfg root@10.128.106.176:/opt/zookeeper/conf5.在/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 start7.验证是否成功启动 使用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:38881.关闭防火墙或者端口设置例外: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=false3.使用console管理Zookeeper ip+port连接即可
