【Dubbo+Zookeeper注册服务遇到的坑】老版dubbo admin安装+端口占用+无法开启RPC+java.lang.NoClassDefFoundError解决

如果你确保你的代码没有错,那么百分之80%以上的错来源于版本。

1 报错 端口占用Caused by: java.net.BindException: Address already in use:bind &&无法开启dubbo报错 org.apache.dubbo.remoting.RemotingException: Failed to bind NettyServer on /192.168.251.44:28081

之前报端口占用,是因为使用了新版的dubbo admin,每次启动新版dubbo admin时,总会莫名其妙自动注册两个Mork服务(在zookeeper里也可以看到这两个服务),这两个服务占用了端口,导致我们自己的服务无法注册到zookeeper注册中心。(这种情况下,不是别的应用程序占用了端口,你去强行杀死占用端口的进程也没有用,因为它又会导致dubbo无法启动,服务也无法注册)(当然如果真的是因为别的应用程序占用了,该杀死进程还得杀死)
在这里插入图片描述

因此我的解决方法是:用回老版的dubbo admin
老版的dubbo admin比较难找,给一个链接:点击 https://github.com/kun-song/incubator-dubbo-ops

2 老版dubbo admin安装

1. 进入E:\software\incubator-dubbo-ops-master\dubbo-admin目录,编辑application.yaml:
在这里插入图片描述

2. 进入E:\software\incubator-dubbo-ops-master目录执行如下命令

mvn clean package

3.进入 E:\software\incubator-dubbo-ops-master\dubbo-admin\target,执行如下命令

java -jar dubbo-admin-0.0.1-SNAPSHOT.jar

开启成功界面如下图:
在这里插入图片描述
4. 在地址栏输入localhost:7001
在这里插入图片描述

3 报错:java.lang.NoClassDefFoundError:org/apache/curator/framework/CuratorFrameworkFactory

报这个错:其实就是依赖没有找到,或者因为版本冲突。

  • 原有依赖:
<dependency>
  <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>3.0.5</version>
</dependency>
  • 改后的依赖:
<dependency>
  <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.3</version>
</dependency>
  • 不变的依赖
<dependency>
    <groupId>com.github.sgroschupf</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.1</version>
</dependency>
<!-- 引入zookeeper -->
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-framework</artifactId>
    <version>2.12.0</version>
</dependency>
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-recipes</artifactId>
    <version>2.12.0</version>
</dependency>
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.14</version>
    <!--排除这个slf4j-log4j12-->
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
    </exclusions>
</dependency>

如果你的监控页面没有变化,那么请重新打开一下dubbo admin的jar包~~~进行一次刷新

  • 注意:zookeeper全程都要开启!

这时,无论通过zk-client,还是通过dubbo admin,都可以看到我们的服务注册进来了。
在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值