dubbo项目与zookeeper通信问题

原项目pom中问题所在配置如下:

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-dependencies-zookeeper</artifactId>
    <version>3.2.2</version>
    <type>pom</type>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
    </exclusions>
</dependency>

zookeeper使用官方最新的3.8.1,在本地跑没问题。

打包在服务器上报错提示

Unable to canonicalize address localhost/&lt;unresolved&gt;:2181 because it's not resolvable

搜索了半天,大部分的文档都是address localhost<unresolved>:2181或者是server null

而我的这里出现了转义符,&it和/&gt,大致意思是客户端依赖的版本问题。

查看了一下dubbo-dependencies-zookeeper中依赖的zookeeper客户端是3.4.14,而我的注册中心使用的是3.8.1,开始认为3.4.14与3.8.1在本地能跑起来,打包后不应该跑步起来。

尝试了很多方法无果,于是尝试下载一个3.4.14的注册中心尝试。结果官方已经不提供3.4.14的下载了。最低版本是3.5.10,尝试使用3.5.10仍然无果。

于是在maven仓库查看了最新的dubbo-dependencies-zookeeper版本是3.2.3

无法刷新3.2.3,后来查看3.2.3中依赖的zookeeper版本仍然是3.4.14,放弃尝试最新的dubbo的zookeeper开发依赖。

能不能使用3.8.1的客户端呢。

于是在dubbo-dependencies-zookeeper中排除zookeeper。添加zookeeper最新的3.8.1的依赖。

<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.8.1</version>
</dependency>
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-dependencies-zookeeper</artifactId>
    <version>3.2.2</version>
    <type>pom</type>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
        </exclusion>
    </exclusions>
</dependency>

最后总结,不是所有的版本都是向下兼容,通信的两端尽量保证版本一致。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

superboer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值