Dubbo-admin+Zookeeper 的环境搭建实操与 Could-not-extract-archive 报错踩坑

原创 月关 2月22日


1. 安装
1.1 zookeeper安装

zookeeper 的安装相对简单,这里以Mac系统为例,直接使用 brew 命令即可:

$ brew install zookeeper

$ brew install zookeeper
==> Downloading https://homebrew.bintray.com/bottles/zookeeper-3.4.13.mojave.bottle.tar.gz
...
...

1.2 dubbo-admin安装

先来看 dubbo-admin 的安装;我们先找到它在 apache 下的官方GitHub,官方也有相关介绍,中英文版都有(毕竟原本是中国人开发的~),可根据喜好自选研究

1)首先我们需要选一个版本,默认的是 develpo Branch,为了保证稳定少坑,我们选择稳定的 tags 0.2.0 版本

图片
图片

将0.2.0分支版本 clone 到本地

$ git clone -b 0.2.0 git@github.com:apache/dubbo-admin.git

2) clone 完成后会有一个 dubbo-admin 路径,cd进去,然后执行 mvn package 命令进行编译

$ cd dubbo-admin/
$ ls
DISCLAIMER      README.md      doc        dubbo-admin-ui      pom.xml
LICENSE        README_ZH.md      dubbo-admin-distribution  mvnw
NOTICE        codestyle      dubbo-admin-server    mvnw.cmd
$ mvn package
[INFO] Scanning for projects...
...

第一次编译的话会在线在线很多依赖,可能要稍稍等一会了~

  • 这里插播一条踩坑广告

  • 在编译完成时你可能会得到如下的 dubbo-admin-ui 编译失败报错: Could not extract the Node archive: Could not extract archive...

这有可能网络波动或者需要梯子等原因导致文件安装不完整(或者其他什么我不知道的原因…)

图片

总之解决办法就是找到报错的文件路径,删除它,毫不犹豫删除它重新 mvn clean package 编译(万能的重启大法!)

图片

重启大法后 BUILD SUCCESS

2. 启动

2.1 zookeeper启动

1)直接执行zkServer,会有操作命令提示如下

$ zkServer
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Usage: ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}

2)使用 start 便可启动 zookeeper

$ zkServer start
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Starting zookeeper ... STARTED

2.2 dubbo-admin

这里要注意的是在启动 dubbo-admin 之前一定要先启动 zookeeper ,否则会报错

1) cddubbo-admin/dubbo-admin-server/target 目录下,找到 dubbo-admin-server-0.2.0.jar

$ pwd
/tmp/dubbo/dubbo-admin/dubbo-admin-server/target
$ ls
classes          generated-sources      maven-archiver        site
dubbo-admin-server-0.2.0.jar    generated-test-sources      maven-shared-archive-resources    surefire-reports
dubbo-admin-server-0.2.0.jar.original  jacoco.exec        maven-status        test-classes

2) java -jar 运行jar包:

$ java -jar dubbo-admin-server-0.2.0.jar

3)看到如下界面表示启动完成,默认端口为8080:


3. 运行测试

1)访问http://localhost:8080,见到如下界面说明dubbo-admin服务已经成功运行:


2)接下来进行测试验证,首先从GitHub上下载一个测试代码:
https://github.com/nzomkxia/dubbo-demo
然后检查项目中pom文件配置的 dubbo-version 是否为2.7.0

图片

3)然后在 dubbo-basic-provider 下找到 DubboProviderApplication 并运行:

见到如下场景说明成功运行

4)这个时候再刷新dubbo-admin界面,就会看到注册过的服务了,可以很方便的进行在线调试


到这里简单的搭建就算完成了~