当前位置: 首页 > news >正文

springboot 集成Dubbo2.7.8 ,连接zookeeper 提示错误 zookeeper not connected

Dubbo 连接zookeeper时,提示“zookeeper not connected”


java.lang.IllegalStateException: zookeeper not connectedat org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.<init>(CuratorZookeeperClient.java:83) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter.createZookeeperClient(CuratorZookeeperTransporter.java:26) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.remoting.zookeeper.support.AbstractZookeeperTransporter.connect(AbstractZookeeperTransporter.java:70) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter$Adaptive.connect(ZookeeperTransporter$Adaptive.java) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfiguration.<init>(ZookeeperDynamicConfiguration.java:56) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory.createDynamicConfiguration(ZookeeperDynamicConfigurationFactory.java:37) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.lambda$getDynamicConfiguration$0(AbstractDynamicConfigurationFactory.java:39) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory$$Lambda$555/757779849.apply(Unknown Source) ~[na:na]at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) ~[na:1.8.0_25]at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.getDynamicConfiguration(AbstractDynamicConfigurationFactory.java:39) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.common.config.configcenter.DynamicConfiguration.getDynamicConfiguration(DynamicConfiguration.java:224) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.config.bootstrap.DubboBootstrap.prepareEnvironment(DubboBootstrap.java:1034) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.config.bootstrap.DubboBootstrap.startConfigCenter(DubboBootstrap.java:623) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.config.bootstrap.DubboBootstrap.initialize(DubboBootstrap.java:521) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:896) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onContextRefreshedEvent(DubboBootstrapApplicationListener.java:59) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationContextEvent(DubboBootstrapApplicationListener.java:52) ~[dubbo-2.7.8.jar:2.7.8]at org.apache.dubbo.config.spring.context.OneTimeExecutionApplicationContextEventListener.onApplicationEvent(OneTimeExecutionApplicationContextEventListener.java:40) ~[dubbo-2.7.8.jar:2.7.8]at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:404) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:361) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:898) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:554) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]at com.th.DubboProviderApplication.main(DubboProviderApplication.java:17) [classes/:na]Caused by: java.lang.IllegalStateException: zookeeper not connectedat org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.<init>(CuratorZookeeperClient.java:80) ~[dubbo-2.7.8.jar:2.7.8]... 32 common frames omitted

dubbo 注册中心用的是zookeeper,引入的jar包是dubbo-dependencies-zookeeper.jar;使用的zookeeper客户端是curator ,使用curator客户端连接zookeeper是成功的,说明zookeeper服务是启动的且能正常运行的。

产生原因是:
在这里插入图片描述

从源码可以找到问题原因所在:因为zookeeper 的超时连接设置。

当前dubbo 和zookeeper的版本如下:
在这里插入图片描述

XML 配置方式解决方案

xml配置方式,配置了dubbo:registry的timeout,不生效,还是3s,配置:

<dubbo:registry address="zookeeper://127.0.0.1:2181"  timeout="20000"/>

从源码可以看到, zookeeper的连接配置如下:
在这里插入图片描述
所以解决方式方案是timeout 配置在url 中,如下:

<dubbo:registry address="zookeeper://127.0.0.1:2181?timeout=20000"/>

properties 配置文件

读取配置文件连接超时源码如下
在这里插入图片描述
从源码可知,连接超时配置如下:

dubbo.config-center.timeout=6000

但是配置完后,重启并没有解决zookeeper连接失败的原因,然后修改为

dubbo.registry.timeout=60000

重启连接成功。

相关文章:

  • 【电路笔记】-电阻器额定功率
  • hikvision SDK使用学习/实践
  • MySQL_1. mysql数据库介绍
  • 37.从0到上线三天搭建个人网站(第一天)
  • qt使用wimlib-imagex,做windows系统备份还原
  • 人工智能时代AIGC绘画实战
  • 西南科技大学模拟电子技术实验六(BJT电压串联负反馈放大电路)预习报告
  • Shein、Temu拓荒背后,中国快递业“卷”向海外
  • [HTML]Web前端开发技术7(HTML5、CSS3、JavaScript )CSS的定位机制——喵喵画网页
  • FPGA串口接收解帧、并逐帧发送有效数据——1
  • 字符串和内存函数(1)
  • 基于SSM框架的《超市订单管理系统》Web项目开发(第五天)供应商管理,增删改查
  • 【漏洞复现】速达软件存在任意文件上传
  • 《内蒙古自治区“十四五”能源发展规划》明确提出,重点打造()、 阿拉善盟和内蒙古东部的通辽市等地区千万千瓦级风电基地。
  • 虹科案例 | OPC UA SDK快速扩展VIMANA智能制造软件连接性
  • 2017-09-12 前端日报
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • C++入门教程(10):for 语句
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • Js基础——数据类型之Null和Undefined
  • Promise面试题,控制异步流程
  • Rancher-k8s加速安装文档
  • vue--为什么data属性必须是一个函数
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 测试如何在敏捷团队中工作?
  • 复习Javascript专题(四):js中的深浅拷贝
  • 检测对象或数组
  • 解决iview多表头动态更改列元素发生的错误
  • 双管齐下,VMware的容器新战略
  • 因为阿里,他们成了“杭漂”
  • 字符串匹配基础上
  • 1.Ext JS 建立web开发工程
  • raise 与 raise ... from 的区别
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #每日一题合集#牛客JZ23-JZ33
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (强烈推荐)移动端音视频从零到上手(下)
  • (四)图像的%2线性拉伸
  • (算法)N皇后问题
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .net 调用php,php 调用.net com组件 --
  • .net分布式压力测试工具(Beetle.DT)
  • .NET开发不可不知、不可不用的辅助类(一)
  • .net快速开发框架源码分享
  • .pop ----remove 删除
  • .so文件(linux系统)
  • /proc/vmstat 详解
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • ::什么意思