dubbo-admin
是一个前后端分离的项目。前端使用vue,后端使用springboot,安装dubbo-admin其实就是部署该项目。我们将dubbo-admin安装到开发环境上。要保证开发环境有 jdk、maven、nodejs。
安装node.js (如果当前机器已经安装请忽略)
因为前端工程是用vue开发的,所以需要安装node.js,node.js中自带了npm,后面我们会通过npm启动,下载地址:https://nodejs.org/en/
node.js版本选择:v16版本及以下,并且是LTS长期稳定版
下载node.js的msi安装包后,修改安装路径,一路next下一步即可。
进入github,搜索dubbo-admin:https://github.com/apache/dubbo-admin
下载:
解压后我们进入…\dubbo-admin-develop\dubbo-admin-server\src\main\resources目录,找到 application.properties 配置文件,进行配置修改。
找到下面配置的注册中心的地址,修改为自己服务器的IP和端口
修改后,保存退出。
在 dubbo-admin-develop 根目录下,按住shift+右键,打开power shell,执行清除并打包命令。注意:如果是普通cmd也需要用管理员方式打开,然后执行下面的maven命令。
# mvn clean package
mvn clean package -Dmaven.test.skip=true
在启动后端之前需要确保Linux中服务器注册中心Zookeeper是否启动,先将其启动。
cd /opt/zookeeper/apache-zookeeper-3.5.6-bin/bin
./zkServer.sh start
切换到目录…\dubbo-Admin-develop\dubbo-admin-distribution\target。
执行下面的命令启动dubbo-admin,dubbo-admin后台由SpringBoot构建。
# 看具体是哪个版本dubbo-admin-x.x.x.jar
cd dubbo-admin-distribution\target
# java -jar dubbo-admin-${project.version}.jar
java -jar .\dubbo-admin-0.5.0-SNAPSHOT.jar
# 或者
mvn --projects dubbo-admin-server spring-boot:run
bug描述:在启动dubbo-admin后端时,java.lang.IllegalArgumentException: Unable to canonicalize address 192.168.8.100/:2181 because it’s not resolvable
bug解决:原因:使用jdk14导致的不兼容,换成jdk1.8后解决。
dubbo-admin-ui 目录下执行命令
npm run dev
bug描述:vue项目报错:error:0308010C:digital envelope routines::unsupported
bug解决:原因:node.js版本问题导致报错;(node v17+中的OpenSSL3.0对允许算法和密钥大小增加了严格的限制)。首先把不合适的node版本卸载掉:控制面板>卸载程序,重新安装node v16,安装完成,配置环境变量。搜索栏cmd,打开命令提示符,输入node -v检测版本号。
浏览器输入。用户名密码都是root
# 之前的dubbo-admin老版本用的是Tomcat启动的,后端端口是8080(可能会冲突),前端端口是8081
#http://localhost:8081
# 新版的dubbo-admin用的是Netty,默认配置端口是38080,前端端口38082
http://localhost:38082/
# 或http://localhost:38080
在上面的步骤中,我们已经进入了Dubbo-Admin的主界面,在【快速入门】章节中,我们定义了服务生产者和服务消费者,启动这两个服务,下面我们从Dubbo-Admin管理界面找到这个两个服务。
A:输入的查询条件com.itheima.service.UserService
B:搜索类型,主要分为【按服务名】【按IP地址】【按应用】三种类型查询
C:搜索结果
(1)dubo-admin查看详情
我们查看com.itheima.service.UserService (服务提供者)的具体详细信息,包含【元数据信息】
1)点击详情
从【详情】界面查看,主要分为3个区域
A区域:主要包含服务端 基础信息比如服务名称、应用名称等。
B区域:主要包含了生产者、消费者一些基本信息。
C区域:是元数据信息,需要做配置才能显示(dubbo v2.7+)。
dubbo会为服务提供者分配一个默认的端口号20880,可以到dubbo-service的配置文件中去修改(如果配置配置多个服务,可以对每个服务指定端口号)。
<dubbo:protocol port="20880"/>
2)访问服务消费者
访问服务消费者:http://localhost:8000/user/sayHello.do
可以看到dubbo管理中该服务的消费者列表中有dubbo-web。
3)配置元数据
元数据信息如果是空的,我们需要打开我们的生产者配置文件加入下面配置。
<dubbo:metadata-report address="zookeeper://192.168.8.100:2181"/>