当前位置:   article > 正文

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

caused by: org.apache.dubbo.remoting.remotingexception: failed to bind netty

如果你确保你的代码没有错,那么百分之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
  • 1

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

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

开启成功界面如下图:
在这里插入图片描述
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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 改后的依赖:
<dependency>
  <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.3</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 不变的依赖
<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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

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

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

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

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/166000
推荐阅读
相关标签
  

闽ICP备14008679号