zookeeper -org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplem

 

在项目中使用到Apache Curator Framework连接Zookeeper 3.4.9服务器,使用的Curator Framework版本是最新版3.2.1

<dependency>
	<groupId>org.apache.curator</groupId>
	<artifactId>curator-framework</artifactId>
	<version>3.2.1</version>
</dependency>

项目同时导入了zookeeper-3.5.1的库

结果在使用CuratorFramework.create()方法创建新的节点时,抛出了

org.apache.zookeeper.KeeperException$UnimplementedException: 
KeeperErrorCode = Unimplemented for [zk节点路径名]

的异常。

Curator Framework的2.x.x版本和3.x.x版本对Zookeeper支持的版本是有差异的,查看Curator Framework的官网(http://curator.apache.org),在Versions部分有这么一段话

Versions
The are currently two released versions of Curator, 2.x.x and 3.x.x:

Curator 2.x.x - compatible with both ZooKeeper 3.4.x and ZooKeeper 3.5.x
Curator 3.x.x - compatible only with ZooKeeper 3.5.x and includes support for new features such as dynamic reconfiguration, etc.

对于zookeeper 3.4.x服务器版本,只有Curator 2.x.x才支持,我使用的是Curator 3.2.1版本,不支持Zookeeper 3.4.9服务器,所以会抛出这个异常, 将Curator Framework的版本改为2.x.x的最后一个版本2.11.1,再运行程序就没有异常了。

<dependency>
	<groupId>org.apache.curator</groupId>
	<artifactId>curator-framework</artifactId>
	<version>2.11.1</version>
</dependency>

大家在直接使用Curator Framework进行Zk监控,或者使用Spring Cloud Zookeeper Config时(内含Curator Framework的引用),请注意连接的zookeeper服务器版本,根据zk服务器版本的不同,选择不同的Curator Framework版本

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
org.apache.zookeeper.KeeperException$ConnectionLossExceptionZooKeeper客户端库中的一个异常类,表示与ZooKeeper服务器的连接丢失。这个异常通常在以下情况下抛出: 1. 当客户端与ZooKeeper服务器的连接意外断开时,会抛出ConnectionLossException异常。 2. 当客户端尝试与ZooKeeper服务器建立连接时,如果连接失败,也会抛出ConnectionLossException异常。 这个异常类的完整名称是org.apache.zookeeper.KeeperException$ConnectionLossException,它是KeeperException的一个子类。KeeperExceptionZooKeeper客户端库中的一个通用异常类,用于表示与ZooKeeper服务器交互过程中的各种错误。 在处理ConnectionLossException异常时,可以采取以下措施: 1. 检查网络连接:首先,确保客户端与ZooKeeper服务器之间的网络连接是正常的。可以尝试ping ZooKeeper服务器的IP地址,以确保网络连接没有问题。 2. 重试操作:如果连接丢失是由于网络问题导致的,可以尝试重新连接并重试之前的操作。可以使用重试机制来处理ConnectionLossException异常,例如使用循环和延迟重试策略。 3. 检查ZooKeeper服务器状态:如果连接丢失是由于ZooKeeper服务器本身的问题导致的,可以检查ZooKeeper服务器的状态。可以查看ZooKeeper服务器的日志文件,以了解是否有任何错误或异常发生。 4. 调整ZooKeeper客户端配置:有时,连接丢失问题可能是由于ZooKeeper客户端配置不正确导致的。可以检查ZooKeeper客户端的配置文件,确保配置正确。 总之,org.apache.zookeeper.KeeperException$ConnectionLossException表示与ZooKeeper服务器的连接丢失,可以通过检查网络连接、重试操作、检查ZooKeeper服务器状态和调整ZooKeeper客户端配置来处理这个异常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值