在使用EDAS开发系统时,需要阶段性进行集成测试。而在单元部署时可以选择windows或linux系统。本文以Linux环境为例,给大家讲解一下如何搭建配置中心环境,并进行应用部署和联调测试。
1.环境准备
- 虚拟化一台centos7.4系统。
下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso - 安装java 1.8 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
安装后使用java -version查看JDK版本,JDK版本需要在1.6(含)及以上。
图1
注:配置环境变量,默认java 1.8的环境变量会写入path,而轻量化配置中心脚本需要识别JAVA_HOME变量。
执行
# vi /etc/profile
添加内容:
:wq保存profile文件并使变量立即生效,执行
#source /etc/profile
下载轻量配置中心包:http://edas-public.oss-cn-hangzhou.aliyuncs.com/install_package/LCC/2017-08-01/edas-config-center.zip
下载alitomcat:http://edas-public.oss-cn-hangzhou.aliyuncs.com/install_package/tomcat/taobao-tomcat-7.0.59.tgz
下载Pandora容器包:http://edas-public.oss-cn-hangzhou.aliyuncs.com/install_package/pandora/unauth/taobao-hsf.tgz
解压缩保存
根据文档保存alitomcat和Panduora容器位置https://help.aliyun.com/document_detail/44158.html
注:环境启动时轻量化配置中心会占用8080端口,而alitomcat默认也会使用8080端口,会造成端口冲突,这里需要将二者分开,我们修改alitomcat端口为8088
# vi conf/server.xml
找到下图内容把port修改为8088
图2
2.启动轻量配置中心
#sh startup.sh 见到下图
图3
表示启动成功
3.发布应用包
我们以一个服务提供者的war包为例,进行部署。
注:alitomcat部署的目录是deploy而不是webapps。部署错误会无法解开war包。
启动alitomcat,执行# sh bin/startup.sh
图4
启动成功,端口为8088.同时war包也被自动解开
![5.png 5.png](http://ata2-img.cn-hangzhou.img-pub.aliyun-inc.com/706f30b45bc4e162f71d94c3f45ec5c4.png?x-oss-process=image/resize,w_1400/format,webp)
图5
# vi /etc/hosts
绑定测试机hosts,用于服务的注册与发现
格式:【本机IP】 jmenv.tbsite.net
重启系统、alitomcat和轻量配置中心
4.配置消费端系统
开发机端,设置hosts,用于调用服务
格式:【轻量化配置中心服务器IP】 jmenv.tbsite.net
5.配置服务端系统
- 设置虚拟网卡
#ifconfig
检查是否有虚拟网卡
图6
如果存在这个virbr0的虚拟网卡,在开启edas配置中心后会默认为该网卡IP。并不会请求到虚拟主机IP上。造成timeout的错误。所以需要关闭该虚拟网卡。执行
#virsh net-list
![7.png 7.png](http://ata2-img.cn-hangzhou.img-pub.aliyun-inc.com/4450450dd6091926ab70462935b226be.png?x-oss-process=image/resize,w_1400/format,webp)
图7
#virsh net-destroy default
图8
#Network default destroyed
#systemctl restart libvirtd.service
#virsh net-list
![9.png 9.png](http://ata2-img.cn-hangzhou.img-pub.aliyun-inc.com/dcbb40f9e94962b032efba9c20902100.png?x-oss-process=image/resize,w_1400/format,webp)
图9
#ifconfig //查看是否卸载成功
![10.png 10.png](http://ata2-img.cn-hangzhou.img-pub.aliyun-inc.com/f32894564fe9ffc5ec4cb72d8f0729dc.png?x-oss-process=image/resize,w_1400/format,webp)
图10
- 设置防火墙
从开发机telnet ip 9600/8080,如果不通需要检查一下防火墙是否有限制
可以使用#firewall-cmd –state检查防火墙状态。
可以使用#systemctl stop firewalld.service #临时关闭firewall
6.测试调用
启动开发端应用
图11
访问应用入口,我们这里做了一个servlet入口进行测试。
![12.png 12.png](http://ata2-img.cn-hangzhou.img-pub.aliyun-inc.com/c30ad4a486efaee89d711c07cd0c75f0.png?x-oss-process=image/resize,w_1400/format,webp)
图12
填入信息后提交
![13.png 13.png](http://ata2-img.cn-hangzhou.img-pub.aliyun-inc.com/0763b102e00f138275ca693a887cabc1.png?x-oss-process=image/resize,w_1400/format,webp)
图13
测试通过。
![14.png 14.png](http://ata2-img.cn-hangzhou.img-pub.aliyun-inc.com/3478bdeebceea27524c5fee98890c156.png?x-oss-process=image/resize,w_1400/format,webp)
图14
总结:如果调用不成功,先检查一下防火墙是否开放了9600端口和12200端口,之后检查一下轻量配置中心环境的edas-config-centerlogs,查看一下是否有报错信息,并进行调整。
虚拟网卡需要卸载,否则会在配置中心看到调用请求,但是HSF调用时会timeout,因为请求到了虚拟网卡IP上了。
其他异常要根据具体环境单独分析。