解决org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented for

Curator版本问题:
zookeeper3.5.7和Curator4.6.0不匹配;
把pom文件Curator版本换成2.x.x
zookeeper3.5.7和Curator2.13.0可以适配
pom文件:

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.5.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>2.13.0 </version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>2.13.0 </version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-client</artifactId>
            <version>2.13.0 </version>
        </dependency>
    </dependencies>
这个错误信息 `org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase/hbaseid` 表明在访问 ZooKeeper 节点 `/hbase/hbaseid` 时发生了 `NoNodeException` 异常。这意味着该节点不存在于 ZooKeeper 中。 以下是一些可能的原因和解决方法: ### 可能的原因 1. **节点未创建**:HBase 启动时需要创建一些必要的 ZooKeeper 节点,如果这些节点未创建或被意外删除,就会导致此错误。 2. **权限问题**:操作 ZooKeeper 节点的权限不足,导致无法访问或创建节点。 3. **配置错误**:HBase 的配置文件(如 `hbase-site.xml`)中 ZooKeeper 的连接信息配置错误,导致无法正确访问 ZooKeeper。 4. **ZooKeeper 集群问题**:ZooKeeper 集群本身存在问题,如节点宕机或网络分区,导致节点无法访问。 ### 解决方法 1. **检查节点是否存在**:使用 ZooKeeper 客户端工具(如 `zkCli.sh`)检查节点 `/hbase/hbaseid` 是否存在。如果不存在,尝试手动创建。 ```sh zkCli.sh -server <zookeeper_host>:<port> ls /hbase ``` 2. **检查权限**:确保运行 HBase 的用户对 ZooKeeper 有足够的权限,可以访问和创建节点。 3. **验证配置文件**:检查 HBase 的配置文件,确保 ZooKeeper 的连接信息正确无误。 4. **检查 ZooKeeper 集群状态**:确保 ZooKeeper 集群的所有节点都在正常运行,并且网络连接正常。 ### 示例解决方案 1. **手动创建节点**: ```sh zkCli.sh -server localhost:2181 create /hbase "" create /hbase/hbaseid "<hbase_id>" ``` 2. **检查权限**: ```sh zkCli.sh -server localhost:2181 getAcl /hbase ``` 3. **验证配置文件**: ```xml <configuration> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> </configuration> ``` 4. **检查 ZooKeeper 集群状态**: ```sh zkCli.sh -server localhost:2181 stat / ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值