由于工作中需要用到Dubbo,所以在周末搭建了一套Dubbo环境;
环境:CentOS7
JDK:1.8
Tomcat:8.0
Zookeeper:3.4
Dubbo-admin.war
第一步:在VM上安装CentOS7
CentOS7下载地址:http://mirrors.nju.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso
第二步:配置JDK环境(参考centos7 安装jdk 1.8)
第三步:安装Zookeeper(下载地址:链接:https://pan.baidu.com/s/1RDyV6rgaEuZ1qZ7BBtGgxw 密码:5m9o)
解压 tar -zxvf zookeeper...
进入解压目录的conf目录,复制zoo_sample.cfg文件
cp zoo_sample.cfg zoo.cfg
编辑配置信息
vim zoo.cfg
找到dataDir指定数据储存地址
指定zookeeper路径,可通过pwd命令查看路径地址信息
dataDir=/usr/local/src/zookeeper3.4/data
启动zookeeper
cd zookeeper/bin
启动
./zkServer.sh start
停止
./zkServer.sh stop
重启
./zkServer.sh restart
第四步:安装Tomcat(下载地址:链接:https://pan.baidu.com/s/1_NFHQ5sgIWqFX2yr7mQCbw 密码:5y8m)
第五步:部署Dubbo
*******************************************************************
从网上下载的Dubbo源码通过编码后得到的war包或者下载的war包,默认不支持JDK1.8,在tomcat中运行会报错,错误信息如下:
ERROR context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'uriBrokerService': Cannot create inner bean '(inner bean)' of type [com.alibaba.citrus.service.uribroker.impl.URIBrokerServiceImpl$URIBrokerInfo] while setting bean property 'brokers' with key [0]; nested excepti
on is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#25': Cannot create inner bean 'server' of type [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker] while setting constructor argument; nested exception is org.springframework.beans.fact
ory.BeanCreationException: Error creating bean with name 'server': Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'URIType' of bean class [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker]: Bean property 'URIType'
is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:230)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:287)
可通过配置git下载源码配置文件再打包解决这个问题;
在网上找了一圈,CSDN上有很多提供Dubbo-admin支持JDK1.8的war包,基本上下载全部都需要C币。。。真的很想吐槽一波,又不是啥技术含量特高的东西,为啥就不能好好共享一下呢?
Dubbo-admin-2.5.4(支持JDK1.8)免费下载地址:
链接:https://pan.baidu.com/s/1jpq8tD7DlKZItLpgyx5lfA 密码:6w7d
将Dubbo-admin.war文件解压后上传至Tomcat文件夹的webapps目录下解压,得到如下:
修改Dubbo的配置文件设置登录账号密码及zookeeper地址
vim dubbo/WEB-INF/dubbo.properties
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=root
复制dubbo.properties文件直root目录下(启动时会检索)
cp dubbo/WEB-INF/dubbo.properties /root/
好了,基本上已经完成了,启动tomcat即可
tomcat默认端口号8080,建议关闭Centos7防火墙
启动tomcat
sh …/bin/startup.sh
在本地浏览器中访问路径如:192.168.88.131:8080(具体centos7IP地址视自己的而定,查看ip地址命令 ip addr)
写文主要目的是为了提供一份支持JDK1.8的Dubbo-admin.war包,以方便后面的朋友遇到相同的问题,却面临CSDN上下载需要C币的尴尬问题;
Dubbo-admin-2.5.4(支持JDK1.8)免费下载地址:
链接:https://pan.baidu.com/s/1jpq8tD7DlKZItLpgyx5lfA 密码:6w7d
2018年5月20日 14:47:26