记一次dubbo连接zookeeper注册中心发生异常的排查经历

简介 springboot集成dubbo项目启动过程中报错,错误信息如下:java.lang.IllegalStateException:zookeepernotconnected  从启动结果可以看出,dubbo的注册中心zookeeper连接不上了,起初我以为apollo中配置的zookeeper地址错了,核对了一遍没毛病。然后看了下项目中的application.properties配置文件,又看

spring boot集成dubbo项目启动过程中报错,错误信息如下:

67480d9fb068b66fa8e202a6bbe3976a.png

java.lang.IllegalStateException: zookeeper not connected

  从启动结果可以看出,dubbo的注册中心zookeeper连接不上了,起初我以为apollo中配置的zookeeper地址错了,核对了一遍没毛病。然后看了下项目中的application.properties配置文件,又看了下启动日志,排除了apollo没生效的可能性。而且项目中使用的Elastic-Job的配置中心zookeeper和dubbo的一样,但是Elastic-Job却启动成功了。伴随了一头雾水,习惯性的百度了下spring boot集成dubbo所遇到的坑,大多数的情况是启动类上没有添加 @EnableDubboConfig 注解,可是我的项目添加了的。尝试了网上的各种坑之后,还是没有解决。然后我让组员在他电脑上启动项目看一下,居然一点问题都没有。那就是服务器zookeeper不稳定喽!

    可是怎么解决这个不稳定呢?从出错的问题更了下源码:

在源码中ZookeeperDynamicConfiguration这个类中,我们可以看到timeout的设置,获取如果没有,默认就设置5000

c7c7a782600504a0fa861e3ef63439f8.png


凯哥的配置中心使用的时候Apollo

在配置文件中添加或修改dubbo.config-center.timeout的值设置大点就可以了

81e3c6285525ad2ae1d091cbcbe32d2f.png

Top Top