11.4.Dubbo环境搭建
- 点进dubbo官方文档,推荐我们使用Zookeeper注册中心
- 什么是zookeeper呢?可以查看宜方文档
11.4.1 window下安装zookeeper
-
- 下载zookeeper:地址,我们下载3.7.1稳定版,解压zookeeper
- 运行/bin/zkServer.cmd,初次运行会报错,没有zoo.cfg配置文件:
存在的问题:闪退
解决:首先需要在系统变量上添加Classpath环境变量,可以输入“.;C:\Program Files\Java\jdk1.5.0_06\lib\tools.jar; C:\Program Files\Java\jdk1.5.0_06\lib\dt.jar” 翻看zkServer.cmd命令发现需要Classpath
setlocal
call "%~dp0zkEnv.cmd"
set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
set ZOO_LOG_FILE=zookeeper-%USERNAME%-server-%COMPUTERNAME%.log
echo on
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*
endlocal
为什么需要Classpath环境变量?
如果将Java执行环境比喻为操作系统,如果设置Path变量是为了让操作系统找到指定的工具程序(以Windows来说就是找到.exe文件),则设置Classpath的目的就是让Java执行环境找到指定的Java程序(也就是.class文件)。
接下来,编辑zkServer.cmd文件末尾添加pause。这样运行出错就不会退出,会提示错误信息,方便找到原因。
- 上诉错误是下载的版本tar.gz没有lib包,3.5以后的版本需要要下载带有bin标识的zookeeper用其中的lib包。
报错最关键的就是;
第一个解压出来没有lib文件加,需要将第二个压缩包解压出来,将lib复制粘贴到,第一个压缩包解压的zookeeper目录下。
-
- 接下来就需要把apache-zookeeper-3.7.1\conf\zoo_sample.cfg复制一份作为zoo.cfg,里面的配置不用更改
double默认端口号20281
clientPort=2181 //zookeeper默认端口号
注意几个重要位置:
dataDir=./临时数据存储的目录(可写相对路径)
clientPort=2181 zookeeper的端口号
-
在安装目录下面新建一个空的 data 文件夹文件夹:
-
修改 zoo.cfg 配置文件,将 dataDir=/tmp/zookeeper 修改成 zookeeper 安装目录所在的 data 文件夹,数据日志的配置默认添加了
- 双击重新启动zkServer.cmd可以成功运行
如何永久占用8080端口,将tomcat作为后台服务即可
类似mysql的服务安装命令 mysqld -install
- 双击启动客户端zkCli.cmd,需要服务端开启才可连接成功
- 使用zookeeper的zkCi.cmd客户端进行测试 :
ls /:列出zookeeper根下保仔的所有节点,注意空格
create -e /map abc:创建一个map节点,值为abc,注意空格
get /map 获取map节点的值
11.4.2 window下安装dubbo-admin
-
dubbo本身并不是一个服务软件。它其实就是一个jar包,帮你的java程序连接到zookeeper,并利用zookeeper消费、提供服务。
-
但是为了让用户更好的管理监控众多的dubbo服务,官方提供了一个可视化的监控程序dubbo-admin,不过这个监控即使不装也不影响使用。dubbo是一个监控管理后台~查看我们注册了哪些服务,哪些服务被消费
-
下载dubbo-admin开发版本(新版本):地址用idea导入项目后打开
-
先启动zookeeper(E:\software\apache-zookeeper-3.7.1\bin\zkServer.cmd),然后将dubbo-admin-server这个module启动运行或着是打包后用命令行运行
遇到的问题:dubbo+zookeeper占用8080端口
zookeeper从某个版本开始内置了jetty,所以是zookeeper里还有jetty在占用8080端口
修改zookeeper的配置文件zoo.cfg:
添加一条配置信息:admin.serverPort=8008
由于dubbo-admin develop开发版本不稳定,我们最好使用dubbo-admin master 0.2.0版本
- 下载dubbo-admin 0.2.0旧版本,地址:https://qithub.com/apache/dubbo-admin/tree/master
- 进入dubbo-admin\src\main\resources目录,可以修改application.properties指定zookeeper地址
server.port=7001
spring.velocity.cache=false
spring.velocity.charset=UTF-8
spring.velocity.layout-url=/templates/default.vm
spring.messages.fallback-to-system-locale=false
spring.messages.basename=i18n/message
spring.root.password=root
spring.guest.password=guest
#注册中心zookeeper
dubbo.registry.address=zookeeper://127.0.0.1:2181
- 在项目目录下打包dubbo-admin,首次打包需要加载大量jar包
mvn clean package -Dmaven.test.skip=true
- 若打包的时候遇到
-
那么就用idea将下载下的dubbo-admin-master-0.2.0项目导入,用idea对dubbo-admin进行clean和打包,注意要修改项目的jdk编译版本为1.8
-
执行dubbo-admin\target下的dubbo-admin-0.0.1-SNAPSHOT.jar
java -jar dubbo-admin-0.0.1-SNAPSHOT.jar
【注意:zookeeper的服务一定要打开!】
- 执行完毕,访问http://localhost:7001/输入登录账户和密码root/root,查看界面
下一篇:SpringBoot-40-使用spring boot+dubbo+zookeeper创建demo
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123832.html