![6a4424f247d07d60e76657909733cb96.png](https://img-blog.csdnimg.cn/img_convert/6a4424f247d07d60e76657909733cb96.png)
Dubbo
Dubbo与ZooKeeper系列文章
1. ZooKeeper简介及安装
2. ZooKeeper CLI 详解
3. Dubbo简介及其与ZooKeeper的关系
4. Dubbo-admin的配置和Dubbo服务示例(本文)
之前的文章已经介绍了zookeeper的安装及dubbo和zookeeper的关系,本篇文章包括:
- dubbo-admin的配置
- dubbo服务示例
- 服务提供者
- 服务消费者
dubbo-admin的配置
dubbo的使用,其实只需要有管理中心(动物园)和提供者(各种动物),消费者(万千游客)这三个就可以使用了,但是并不能直接看到有哪些消费者和提供者,为了更好的调试问题、发现问题和解决问题,因此引入dubbo-admin。
dubbo-admin是dubbo的管理控制台,通过dubbo-admin可以对消费者和提供者进行管理。
1. 下载dubbo-admin
- 可以到官网下载也可以直接下载war包
官网地址:https://github.com/apache/dubbo
git clone https://github.com/apache/dubbo.git
war包地址:https://github.com/apache/dubbo
- 之前从网上直接下载的war包,有很多问题,原因是每个人的电脑配置环境不一样,上面链接的war包是我自己打包的,建议自己到官网下载后打包
2. 打包war包
从官网下载的dubbo代码切换到2.5.x分支后,目录如下:
![d85ebb061b46e817c49a44a5ee0f346f.png](https://img-blog.csdnimg.cn/img_convert/d85ebb061b46e817c49a44a5ee0f346f.png)
打包war包
cd到dubbo-admin目录并打包:
cd dubbo-admin/mvn clean package -Dmaven.test.skip=true
报错:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
![2542e21ee1a9456c42bba0b93d341fb5.png](https://img-blog.csdnimg.cn/img_convert/2542e21ee1a9456c42bba0b93d341fb5.png)
报错
解决:通过java -version查看jdk版本为openjdk 1.8
![a7c3da849bad24c91d1f5e3474e50ac3.png](https://img-blog.csdnimg.cn/img_convert/a7c3da849bad24c91d1f5e3474e50ac3.png)
查看版本
卸载openjdk,安装jdk,重新打包即可
3. 把war包放到tomcat的webapps目录下
打包成功之后,就会发现dubbo-admin下多了个target文件夹,打开target文件夹,发现里面有个war包 把dubbo-admin-2.5.10.war文件复制到tomcat的webapps目录下
4. 启动tomcat
在tomcat目录下,执行命令:
./bin/catalina.sh start
5. 修改dubbo.properties
停止tomcat(./bin/shutdown.sh),修改dubbo-admin-2.5.10/WEB-INF/dubbo.properties配置文件,设置zookeeper
dubbo.registry.address=zookeeper://127.0.0.1:2181dubbo.admin.root.password=rootdubbo.admin.guest.password=guest
再次启动tomcat(说明:确定zookeeper启动后再去启动tomcat,dubbo.registry.address为zookeeper的地址和端口号)
6. 查看dubbo-admin
http://localhost:8080/dubbo-admin-2.5.10/
账号/密码:root/root
这时就可以查看服务的提供者和消费者了,可以看到服务提供者和消费者目前都还不存在。
dubbo服务示例
上面下载的dubbo代码,切换到2.5.x分支后,进入dubbo-demo目录(cd dubbo-demo)
服务提供者
1. 修改dubbo:registry为真实的注册中心地址
cd ~/code/dubbo/dubbo-demo/dubbo-demo-provider/cd src/main/resources/META-INF/spring/vi dubbo-demo-provider.xml
修改文件中的dubbo:registry,替换成真实的注册中心地址:
2. 启动Provider(linux命令行)
- 修改pom.xml文件,增加build 配置(详见附录build配置)
- 在dubbo-demo目录下打包:mvn clean package -Dmaven.test.skip=true
- 启动Provider:java -jar dubbo-demo-provider-2.5.10-jar-with-dependencies.jar
3. 启动Provider(使用Intellij Idea)
- 建立dubbo-demo项目,并编译
- 运行dubbo-demo-provider中的Provider
这时可以看到dubbo-admin服务治理中的服务已经有提供者了,但是状态是“没有消费者”
服务消费者
1. 修改dubbo:registry为真实的注册中心地址
cd ~/code/dubbo/dubbo-demo/dubbo-demo-consumer/cd src/main/resources/META-INF/spring/vi dubbo-demo-consumer.xml
修改文件中的dubbo:registry,替换成真实的注册中心地址:
2. 启动Consumer(linux命令行)
- 修改pom.xml文件,增加build 配置(详见附录build配置)
- 在dubbo-demo目录下打包:mvn clean package -Dmaven.test.skip=true
- 启动Consumer:java -jar dubbo-demo-consumer-2.5.10-jar-with-dependencies.jar
3. 启动Consumer(使用Intellij Idea)
- 建立dubbo-demo项目,并编译
- 运行dubbo-demo-consumer中的Consumer
这时可以看到dubbo-admin服务治理中的服务状态已经正常了,这时服务治理中既有提供者,又有消费者。
附录
1. build配置
org.apache.maven.plugins maven-compiler-plugin 3.11.81.8 maven-assembly-plugin com.alibaba.dubbo.demo.consumer.Consumerjar-with-dependenciesmake-assemblepackagesingle