【问题标题】:Class not found exception while creating a table in HBASE在 HBASE 中创建表时找不到类异常
【发布时间】:2017-10-20 10:51:54
【问题描述】:

在我们本地服务器上的 HDFS 上成功安装和配置 HBase 后,我在我们的 OVH VPS 机器上进行了相同的配置,但是我收到了一个奇怪的错误。

整个设置开始正常,但是,当我尝试从 hbase shell 创建表时,我收到以下错误:

2017-05-20 11:59:19,256 错误 [RpcServer.FifoWFPBQ.default.handler=29,queue=2,port=16000] master.MasterRpcServices:区域服务器prdhad001,16020,1495274311971 报告了一个致命错误: 正在中止区域服务器 prdhad001,16020,1495274311971:协处理器 org.apache.hadoop.hbase.client.coprocessor.AggregateImplementation 抛出 java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.coprocessor.AggregateImplementation 原因:java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.coprocessor.AggregateImplementation 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381)

之后,整个 hbase 被破坏并引发大量错误。似乎它没有正确加载一些 jar,但是 jar 存在于 lib 文件夹中。

我的配置:
虚拟化:kvm 操作系统:CentOS Linux 7 (Core)
CPE 操作系统名称:cpe:/o:centos:centos:7
内核:Linux 3.10.0-514.16.1.el7.x86_64
架构:x86-64 Hadoop 2.7.3 HBase 1.3.0

导出 PATH=$PATH:$HADOOP_HOME/bin 导出 HADOOP_HOME=/usr/local/hadoop 导出 PATH=$PATH:$HADOOP_HOME/bin
导出 PATH=$PATH:$HADOOP_HOME/sbin 导出 HADOOP_MAPRED_HOME=$HADOOP_HOME 导出 HADOOP_COMMON_HOME=$HADOOP_HOME 导出 HADOOP_HDFS_HOME=$HADOOP_HOME 导出 YARN_HOME=$HADOOP_HOME 导出 HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 导出 HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib" 导出 HBASE_CLASSPATH=/usr/local/hbase/lib/

【问题讨论】:

    标签: java linux hadoop jar hbase


    【解决方案1】:

    我想通了,在 hbase-site.xml 中我添加了以下属性:

    <property>
        <name>hbase.coprocessor.region.classes</name>
        <value>org.apache.hadoop.hbase.coprocessor.AggregateImplementation</value>
     </property> 
    

    用于协处理器,我们目前不使用。删除这部分解决了这个问题,但是,我想如果我们将来想使用协处理器,我们可能会再次遇到这个问题,我们将不胜感激任何其他帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 2019-07-28
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 1970-01-01
      相关资源
      最近更新 更多