我的测试环境centos7+jdk1.8+maven3.5.2。
主要目的:网上大多数都是进行本地的测试暴露服务接口,context加载配置文件来模拟测试。
此篇文章主要写dubbo与zookeeper与SSM整合的,并且通过两台tomcat服务器和一台zookeeper的服务器进行实现,包括其中的一些坑。
流程是这样:首先在一台服务器虚拟机要开启zookeeper,之后搭建dubbo-admin,基础工作做完之后。
再配置service暴露服务,并在tomcat1启动,最后再启动消费者也就是Controller的tomcat2.
直接来步骤:
首先要下载zookeeper地址http://apache.org/dist/zookeeper/,我选择了3.4.10版本。下载下来发送到服务器中。
我放置在/home/tools中,一般可以放在/usr/local/zookeeper下(随便都行)。解压之后,如图
tar -zxvf zookeeper-3.4.10.tar.gz复制代码
进入conf中,把原先的zoo_sample.cfg官方给的模版配置文件copy一份,重命名为zoo.cfg
cd conf
cp zoo_sample.cfg zoo.cfg
复制代码
我们可以打开看看里面的内容。
vim zoo.cfg复制代码
文件里面主要配置了zookeeper的数据目录还有同步的次数限制,还有客户端的端口号。
需要修改端口号的可以修改,一般不做配置。
进入bin中,进行启动zookeeper,启动之前先检查防火墙有没有把端口开启(对于阿里云或者云服务器,要去控制台看一下端口是否放行)很多人忙了一圈发现原来是防火墙没有配置。
//添加端口2181
firewall-cmd --add-port=2181/tcp --permanet
//重启防火墙生效
systemctl restart firewalld复制代码
//启动zookeeper
./zkServer.sh start
复制代码
这样就启动成功了,此时为单机版Standalone,并不是集群。(集群也很相似,只是对于每个服务器做了稍微的配置)
检测下端口是否开启,服务是否运行,
netstat -lntup
//没有安装netstat的童鞋
yum -y install net-tools
复制代码
已开启,那么zookeeper到此任务就结束了。
然后我们再进行配置dubbo-admin,这样就可以很方便的看到当前注册中心的一切了。
对于dubbo-admin,网上很多教程写的都很乱,结论是最好自己打包,一般错误会少很多。
最好不要直接下载别人的war包很容易404。
目前因为dubbo-admin主要有三种:
1,对于2.5.4以下版本的,我用centos7+jdk1.8+maven3.5.2编译,测试了几遍都没有成功,很多说是jdk1.7才支持。
2,对于2.6.x的已改为前后端分离的Springboot项目,目前有很多bug,不是很稳定,从git拉下来,很多exception不知道为什么。不推荐使用。
3,目前唯一我觉得还可以的就是2.6.0版本的,经典的war包,拖进ROOT目录就可以访问,基本不会出什么错。
git clone -branch dubbo-2.6.0 https://github.com/apache/incubator-dubbo复制代码
拉取2.6.0版本的dubbo。
找到admin文件夹,执行
mvn package -Dmaven.skip.test=true复制代码
等待一段时间。.......
编译完成之后,把dubbo-admin.2.6.0.war拖到tomcat的ROOT下,直接解压
cp dubbo-admin-2.6.0.war /home/tools/tomcat/webapps/ROOT
jar -xvf dubbo-admin-2.6.0.war复制代码
执行完毕即可开启tomcat就可以了,192.168.50.10:8080即可(根据你虚拟机的IP)。