解决Caused by: org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplem

springcloud整合zookeeper报错

Caused by: org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented for /services/cloud-order-service/250369e7-e18d-4103-8814-8aa23de9bf0d

报错原因是因为:

服务器zookeeper与springcloud的zookeeper版本不一致

方法:移除springcloud包下的zookeeper,指定自己zookeeper版本

    <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                </exclusion>
            </exclusions>
     </dependency>
     <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.9</version>
      </dependency>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个ZooKeeper连接丢失的异常。它表示与ZooKeeper服务器的连接已经丢失,可能是由于网络问题或ZooKeeper服务器不可用引起的。当客户端无法与ZooKeeper服务器建立或保持连接时,会抛出这个异常。 要解决这个问题,可以尝试以下几个步骤: 1. 检查网络连接:确保客户端和ZooKeeper服务器之间的网络连接正常。可以尝试使用ping命令来测试网络连接是否正常。 2. 检查ZooKeeper服务器状态:确保ZooKeeper服务器正在运行并且可用。可以使用zkCli命令行工具连接到ZooKeeper服务器并检查其状态。 3. 检查ZooKeeper配置:检查ZooKeeper客户端的配置文件,确保配置正确并指向正确的ZooKeeper服务器地址和端口。 4. 增加重试机制:在代码中增加重试机制,当连接丢失时,可以尝试重新连接。可以使用ZooKeeper提供的重试策略来实现这个功能。 以下是一个示例代码,演示如何处理这个异常并进行重试: ```java import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.ZooKeeper; public class ZooKeeperConnection { private static final int MAX_RETRIES = 3; private static final int RETRY_INTERVAL = 1000; // 1秒 public static void main(String[] args) { ZooKeeper zooKeeper = null; int retries = 0; while (retries < MAX_RETRIES) { try { zooKeeper = new ZooKeeper("localhost:2181", 5000, null); break; } catch (KeeperException.ConnectionLossException e) { System.out.println("连接丢失,正在尝试重新连接..."); retries++; try { Thread.sleep(RETRY_INTERVAL); } catch (InterruptedException ex) { ex.printStackTrace(); } } catch (Exception e) { e.printStackTrace(); break; } } if (zooKeeper != null && zooKeeper.getState() == ZooKeeper.States.CONNECTED) { System.out.println("成功连接到ZooKeeper服务器"); } else { System.out.println("无法连接到ZooKeeper服务器"); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值