所需工具:
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