【总结】解决dubbo 升级至apache 2.7.18版本发生Zookeeper连接失败问题

2023-05-16

问题描述

最近在做系统的架构升级,升级应用dubbo版本号至apache 2.7.18版,发生Caused by: java.lang.IllegalStateException: Failed to connect with zookeeper, pls check if url zookeeper://192.168.11.13:2149/ConfigCenterConfig?check=true&config-file=dubbo.properties&group=dubbo&highest-priority=false&timeout=3000 is correct.
错误。但这里奇怪的是,其他应用是没问题的。于是乎,将问题锁定在jar 包冲突上。

以下是详细错误信息。

错误信息

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxUserServiceImpl': Injection of @DubboReference dependencies is failed; nested exception is java.lang.IllegalStateException: Failed to connect with zookeeper, pls check if url zookeeper://192.168.11.13:2181/ConfigCenterConfig?check=true&config-file=dubbo.properties&group=dubbo&highest-priority=false&timeout=3000 is correct.
	at com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor.postProcessPropertyValues(AbstractAnnotationBeanPostProcessor.java:183)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1430)
	at 
……	org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:318)
	... 49 common frames omitted
Caused by: java.lang.IllegalStateException: Failed to connect with zookeeper, pls check if url zookeeper://192.168.11.13:2149/ConfigCenterConfig?check=true&config-file=dubbo.properties&group=dubbo&highest-priority=false&timeout=3000 is correct.
	at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfiguration.<init>(ZookeeperDynamicConfiguration.java:69)
	at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory.createDynamicConfiguration(ZookeeperDynamicConfigurationFactory.java:43)
	at 
……
com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor.postProcessPropertyValues(AbstractAnnotationBeanPostProcessor.java:179)
	... 65 common frames omitted
2023-03-27 18:59:41,758  INFO   3018 --- [           main] [org.apache.dubbo.spring.boot.context.event.WelcomeLogoApplicationListener:63] : [0] 

 :: Dubbo Spring Boot (v2.7.18) : https://github.com/apache/dubbo-spring-boot-project
 :: Dubbo (v2.7.18) : https://github.com/apache/dubbo
 :: Discuss group : dev@dubbo.apache.org

排查解决

1)打包启动正常的应用,解压打包后的springboot jar。查看其BOOT-INF目录下的lib。将依赖的lib 列表,复制其名称,写入good-libs.txt文件。
在这里插入图片描述
2)同样的方法,打包启动失败的应用,查看其springboot 最终 lib 依赖包列表,复制其名称,写入bad-libs.txt文件。

3)比对bad-lib.txt 、good-lib.txt,寻找两个包依赖不同之处,重点关注dubbo、zookeeper、curator相关的包。

果然,经过一番对比,发现是curator-client 版本不一致。
在这里插入图片描述
4)查证 curator-client maven 依赖仲裁。
在这里插入图片描述
原因是maven 发生依赖冲突时,最终采用了最短路径(路径只有2级,其他的版本都是3级路径),选择最底下的2.7.1版本。

现在只需要让2.10.0的版本被采纳就行了。

解决方法

1)方法一:直接声明curator-client坐标,让其优先级最高

       <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>2.10.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-client</artifactId>
            <version>2.10.0</version>
        </dependency>

2)方法二:排除 curator-client 2.7.1 的依赖。在引入2.7.1版本的地方,exclusion掉依赖即可。

				<exclusion>
                    <artifactId>curator-client</artifactId>
                    <groupId>org.apache.curator</groupId>
                </exclusion>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【总结】解决dubbo 升级至apache 2.7.18版本发生Zookeeper连接失败问题 的相关文章

  • log4j2 使用详解

    转载自 Blog of 天外的星星 xff1a http www cnblogs com leo lsw p log4j2tutorial html Log4j 2的好处就不和大家说了 xff0c 如果你搜了2 xff0c 说明你对他已经有
  • 基于webpack实现多html页面开发框架八 html引入图片打包和公共页面模块复用

    一 解决什么问题 1 html中img引入的图片地址没有被替换 xff0c 找不到图片 2 html公共部分复用问题 xff0c 如头部 底部 浮动层等 二 html中img引入图片问题解决 1 在index html插入img xff0c
  • 程序员入门编程,看这10本书,少走10年弯路

    如果能时光倒流 xff0c 回到过去 xff0c 作为一个开发人员 xff0c 你可以告诉自己在职业生涯初期应该读一本 xff0c 你会选择哪本书呢 xff1f 我希望这个书单列表内容丰富 xff0c 可以涵盖很多东西 高尔基曾说 书是人类
  • 编译vs2008的samples程序总是跳过

    编译vs2008的samples程序总是跳过 xff0c 要配置属性还显示 未能完成操作 未指定的错误 的解决办法 作者 admin 分类 开发问题 发布时间 2013 03 12 09 22 974 浏览数 6 没有评论 文章转自王牌软件
  • 二叉排序树的删除

    xff08 网上讲二叉排序树删除的资料很少 xff0c 这篇很不错 xff01 转自 xff1a http bbs csdn net topics 110010437 xff09 二叉排序树的删除 xff1a 对于一般的二叉树来说 xff0
  • MFC 用户界面线程:界面线程的退出 窗口关闭的流程

    原文链接 xff1a http wenku baidu com link url 61 6CFkWbLOeFgNoUsJniCX3ksw6 RztxMr9Z e6t7uu3e vV7UTKThUEkyRkq8IXwxIw5qYctN8gIx
  • MFC用户界面多线程实例2

    以下是 MFC 用户界面线程相关知识 由于用户界面线程含有自己的消息循环 xff0c 可以出来 Windows 消息 xff0c 并可创建和管理诸如窗口和控件等用户界面 元素 因此 xff0c 这 种线程较工程线程更为复杂 创建用户界面线程
  • 反汇编定位代码崩溃位置_1

    原帖 xff1a http blog csdn net gwzz1228 article details 9045853 利用map xff0c cod文件定位崩溃代码行 利用vs2010 新建一个空的控制台项目 xff0c 添加文件gtg
  • 反汇编定位代码崩溃位置_3

    原帖 xff1a http blog sina com cn s blog 141f234870102van8 html win7 43 vs2010通过map文件和cod文件找到崩溃的代码行 2015 01 11 11 31 04 转载
  • 反汇编定位代码崩溃位置_4

    原帖 xff1a http blog csdn net xiao article details 23177577 GDB如何从Coredump文件恢复动态库信息 标签 xff1a GDBcoredumpso调试动态库 2014 04 08
  • C链表反转

    节点 struct Note int value Note pNext typedef struct Note PList 生成一个链表 Note GenerateList 输出一个链表 void PrintList Note pHead
  • FtpClient.storeFile返回false解决方法

    今天在利用FTP将客户端文件存储到服务器端时 xff0c 在调用ftpClient storeFile方法后 xff0c 总是返回false xff0c 在百度之后 xff0c 有提到说添加一行 ftpClient enterLocalPa
  • 压缩软件介绍

    压缩软件介绍 一 xff0e 关于WINRAR压缩 ZIP 1 最大优点就是普及率 2 相对RAR格式来说它的压缩速度会要快一些 RAR 1 对比ZIP来说RAR是一次长足的进步 它能够提供更好的压缩比率 2 支持固实压缩模式 对存在很多重
  • ubuntu 使用MobaXterm和cpolar配置外网访问ssh和vnc

    目录 1 首先下载MobaXterm xff1a mobaxterm 2 注册并在ubuntu服务器上安装cpolar xff1a cpolar 安装说明 xff1a 3 保留固定TCP地址 xff08 此步骤可跳过 xff0c 但需要每天
  • copy-webpack-plugin HookWebpackError: Not supported

    前言 运行项目时 xff0c 控制台报错 HookWebpackError Not supported 定位问题发现与 copy webpack plugin 相关 本文主要记录下解决方案 一 控制台报错 二 copy webpack pl
  • 字符串子串的查找

    1 考虑用标准函数库中 strstr 函数 包含文件 xff1a string h 函数名 strstr 函数原型 xff1a extern char strstr char str1 char str2 功能 xff1a 从字符串str1
  • Ubuntu20.04下,搭建hexo个人博客

    一些说明和资源 所使用到的软件版本 xff1a UbuntuNginxGithexo20 04 LTS1 18 02 25 15 4 0 其他说明 xff1a 这里所演示的是在 VirtualBox 中进行的 xff0c 实际工作场景可以是
  • **打开virt-manager报错:** (virt-manager:6079): Gtk-WARNING **: 19:57:38.863: cannot open display:

    打开virt manager报错 virt manager 6079 Gtk WARNING 19 57 38 863 cannot open display 安装 xorg x11 font utils包后可以正常打开 xff1a roo
  • 火影推荐程序连载52-什么是Serilog?

    上文说到Nlog日志框架 xff0c 感觉它功能已经很强大 xff0c 今天给大家介绍一个很不错的日志框架Serilog xff0c 根据我的了解 xff0c 感觉它最大的优势是 xff0c 结构化日志 xff0c 它输出的日志是Json的
  • C语言学习记录——矩阵转换(定义一个数组实现或定义两个数组实现)

    目录 题目要求 代码 xff08 定义两个数组 xff09 运行结果图 xff08 定义两个数组 xff09 代码 xff08 定义一个数组 xff09 运行结果图 xff08 定义一个数组 xff09 简易思路图解 编辑 小结 题目要求

随机推荐