centos7+Zookeeper+dubbo监控

455 阅读3分钟

所需工具:

dubbo-admin-2.5.4.war(此文件不需解压)

zookeeper.tar.gz(需要三台虚拟机)

tomcat7.0.tar.gz

安装zookeeper集群及配置

通过 VMware ,我们安装了三台虚拟机,用来搭建 zookeeper 集群,虚拟机网络地址如下:

         hostname                      ipaddress
1、 fule01					192.168.1.89

2、 fule02					192.168.1.86

3、 fule03					192.168.1.91

解压zookeeper:

tar -vxf zookeeper.tar.gz

当我们将zookeeper解压到 /usr/local 目录下后 ,进入zookeeper的根目录创建一个data 文件夹,此文件用来保存zookeeper的log信息

将 zoo_sample.cfg 文件复制并重命名为 zoo.cfg 文件

cp zoo_sample.cfg zoo.cfg

修改zoo.conf中的datalogDir路径

#cd conf

#vi zoo.cfg

末尾加入集群配置

server.1=192.168.1.89:2888:3888

server.2=192.168.1.86:2888:3888

server.3=192.168.1.91:2888:3888

说明:server.A=B:C:D 配置,其中 A 对应下面我们即将介绍的myid 文件。B是集群的各个IP地址,C:D 是端口配置

配置文件中参数说明:

tickTime : 服务器与客户端之间交互的基本时间单元(ms)

dataDir : 保存zookeeper数据路径

dataLogDir : 保存zookeeper的日志路径,当此配置不存在时默认路径与dataDir一致

clientPort : 客户端访问zookeeper时经过服务器端时的端口号

在上一步 dataDir 指定的目录下,创建 myid 文件,然后在该文件中写上 1 即可 后面的机器依次在相应目录创建myid文件,写上相应配置数字即可

为了能够在任意目录启动zookeeper集群,我们需要配置环境变量。

ps:你也可以不配,这不是搭建集群的必要操作,只不过如果你不配置环境变量,那么每次启动zookeeper需要到安装文件的 bin 目录下去启动。

首先进入到 /etc/profile 目录,添加相应的配置信息:

 #set zookeeper environment
 
export ZK_HOME=/usr/local/software/zookeeper-3.3.6

export PATH=$PATH:$ZK_HOME/bin

然后通过如下命令使得环境变量生效:

source /etc/profle

以同样的方式在其他两台虚拟机上操作,server.A,其他两台虚拟机myid文件需要改动

可能会出现的问题:

如果环境配置文件改动错误,生效之后命令大部分都会不好使,这样需要将配置的删掉,然后再生效一次
启动报错,到log文件查看,地址已在使用,有两种原因:

端口被占用

之前启动过,没有执行停止操作

其余两台虚拟机进行操作,需要将安装包拷过去进行解压。(我是直接将第一台的文件直接拷过去,导致没有权限访问)

启动zookeeper之后,需要等待一会

下面为zookeeper基本命令

启动命令:
zkServer.sh start

停止命令:
zkServer.sh stop

重启命令:
zkServer.sh restart

查看集群节点状态:
zkServer.sh status

设置开机自启

cd /etc/init.d

vi zookeeper

#!/bin/bash    
#chkconfig:2345 20 90    
#description:zookeeper    
#processname:zookeeper
export JAVA_HOME=/usr/local/jdk1.8
case $1 in    
   start) su root /usr/local/zookeeper/bin/zkServer.sh start;;    
   stop) su root /usr/local/zookeeper/bin/zkServer.sh stop;;    
   status) su root /usr/local/zookeeper/bin/zkServer.sh status;;    
   restart) su root /usr/local/zookeeper/bin/zkServer.sh restart;;    
   *) echo "require start|stop|status|restart" ;;    
esac

赋予操作权限

chmod +x zookeeper

chkconfig --add zookeeper

安装Tomcat及配置dubbo

解压tomcat安装包至 /usr/local 下

将dubbo-admin-2.5.4.war 包放在解压好的Tomcat的webapps 文件下

因为zookeeper会占用8080端口,需要将tomcat端口号改为其他值

加入成功后,启动tomcat 便可被tomcat解析出dubbo-admin-2.5.4文件,这样启动会报错,原因是没改动dubbo配置文件

此时我们便可以进行访问dubbo的管理平台,注意在访问前需要关闭我们Linux服务器的防火墙

说明:

关闭防火墙:systemctl stop firewalld.service

关闭开机启动:systemctl disable firewalld.service

修改WEB-INF下dubbo.properties

vim  /usr/local/tomcat/webapps/dubbo-admin/WEB-INF/dubbo.properties

说明:注意一个地址加多个backup,任何一个节点如果存活着,那么总体服务不回出现问题

dubbo.registry.address=zookeeper://192.168.1.89:2188?backup=192.168.1.86:2188,192.168.1.91:2188

dubbo.admin.root.password=root

dubbo.admin.guest.password=guest