zoukankan      html  css  js  c++  java
  • Apache Curator与Zookeeper版本兼容性异常:org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode =Unimplemented

    ZooKeeper Version 3.4.x Compatibility

    ZooKeeper 3.4.x is now at end-of-life. Consequently, the latest versions of Curator have removed support for it. If you wish to use Curator with ZooKeeper 3.4.x you should pin to version 4.2.x of Curator. Curator 4.2.x supports ZooKeeper 3.4.x ensembles in a soft-compatibility mode. To use this mode you must exclude ZooKeeper when adding Curator to your dependency management tool.

    Maven

    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-recipes</artifactId>
        <version>4.2.0</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    Gradle

    compile('org.apache.curator:curator-recipes:$curatorVersion') {
      exclude group: 'org.apache.zookeeper', module: 'zookeeper'
    }

    You must add a dependency on ZooKeeper 3.4.x also.

    Curator will detect which ZooKeeper library is in use and automatically set ZooKeeper 3.4 compatibility mode as needed. In this mode, all features not supported by 3.4 are disabled. It is up to your application code to "do the right thing" and not use these features. Use the isZk34CompatibilityMode() method to determine which mode Curator is using at runtime.

    Testing With ZooKeeper 3.4.x

    Note: If you wish to use Curator's TestingServer with ZooKeeper 3.4.x you must use the older version of it (in addition to the instructions above):

    Maven

    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-test</artifactId>
        <version>2.12.0</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
            </exclusion>
        </exclusions>
        <scope>test</scope>
    </dependency>

    Gradle

    testCompile('org.apache.curator:curator-test:2.12.0') {
      exclude group: 'org.apache.zookeeper', module: 'zookeeper'
    }


    Curator 5.0 Breaking Changes

    Curator 5.0 contains a few non-backward compatible/breaking changes from previous versions.

    • ZooKeeper 3.4.x is no longer supported (the associated Compatibility classes/methods have been removed). If you still need to use Curator with ZooKeeper 3.4.x you will need to use a previous version. Click here for details.
    • The old ListenerContainer classes have been removed so as not to leak Guava classes into Curator APIs. Instead use the new StandardListenerManager.
    • Exhibitor support has been removed.
    • ConnectionHandlingPolicy and related classes have been removed.
    • The Reaper and ChildReaper classes/recipes have been removed. You should use ZooKeeper container nodes instead.
    • newPersistentEphemeralNode() and newPathChildrenCache() were removed from GroupMember.
    • ServiceCacheBuilder<T> executorService(CloseableExecutorService executorService) was removed from ServiceCacheBuilder.
    • ServiceProviderBuilder<T> executorService(CloseableExecutorService executorService) was removed from ServiceProviderBuilder.
    • static boolean shouldRetry(int rc) was removed from RetryLoop.
    • static boolean isRetryException(Throwable exception) was removed from RetryLoop.
     
    欢迎关注微信公众号:大数据从业者
  • 相关阅读:
    Constants and Variables
    随想
    C#基础篇之语言和框架介绍
    Python基础19 实例方法 类方法 静态方法 私有变量 私有方法 属性
    Python基础18 实例变量 类变量 构造方法
    Python基础17 嵌套函数 函数类型和Lambda表达式 三大基础函数 filter() map() reduce()
    Python基础16 函数返回值 作用区域 生成器
    Python基础11 List插入,删除,替换和其他常用方法 insert() remove() pop() reverse() copy() clear() index() count()
    Python基础15 函数的定义 使用关键字参数调用 参数默认值 可变参数
    Python基础14 字典的创建修改访问和遍历 popitem() keys() values() items()
  • 原文地址:https://www.cnblogs.com/felixzh/p/15650291.html
Copyright © 2011-2022 走看看