项目启动报错,java.lang.IllegalStateException: zookeeper not connected

错误提示是连接不上zookeeper,一般这种情况要么是网络问题,要么是权限问题

1:首先确认zookeeper是否正常运行,登录服务器查看zookeeper运行状态

2:查看电脑系统是Windows还是Linux,查看是否防火墙阻拦,ping一下zk的域名和端口是否可以正常ping通。

3:如果上述都没问题,windos系统请检查域名解析是否正确,可以考虑本地host加上zk域名解析。(这个很容易被忽略)

4:如果都没问题,再查看项目的zk地址是否配置正确,超时时间是否合理,网络问题考虑增大超时时间。因为默认的timeout是5秒,如果5秒内连不上会报这个异常,修改dubbo.registry.timeout设置长一点即可

5:最后检查dubbo版本,如果是springboot项目,dubbo版本过高或者过低都可能导致这个问题,最好去掉dubbo的版本。不指定依赖的版本,Spring Boot 也会通过Maven 的继承关系,引入依赖的版本,从而完成版本的统一。

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.3</version> 去掉这个
</dependency>
<!-- 使用zk 做注册中心,Dubbo 需要的依赖 -->
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-dependencies-zookeeper</artifactId>
    <type>pom</type>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
    </exclusions>
</dependency>
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐