在我们本地服务器上的 HDFS 之上成功安装和配置 HBase 之后,我在我们的 OVH VPS 机器上进行了相同的配置,但是我收到了一个奇怪的错误。
整个设置开始正常,但是,当我尝试从 hbase shell 创建表时,出现以下错误:
2017-05-20 11:59:19,256 ERROR [RpcServer.FifoWFPBQ.default.handler=29,queue=2,port=16000] master.MasterRpcServices: Region server prdhad001,16020,1495274311971 reported a fatal error: ABORTING region server prdhad001,16020,1495274311971: The coprocessor org.apache.hadoop.hbase.client.coprocessor.AggregateImplementation threw java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.coprocessor.AggregateImplementation Cause: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.coprocessor.AggregateImplementation at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
然后整个 hbase 都被破坏并抛出大量错误。似乎它没有正确加载一些 jar,但是 jar 存在于 lib 文件夹中。
My configuration :
Virtualization: kvm Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-514.16.1.el7.x86_64
Architecture: x86-64 Hadoop 2.7.3 HBase 1.3.0export PATH=$PATH:$HADOOP_HOME/bin export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib" export HBASE_CLASSPATH=/usr/local/hbase/lib/
最佳答案
我想通了,在 hbase-site.xml 中我添加了以下属性:
<property>
<name>hbase.coprocessor.region.classes</name>
<value>org.apache.hadoop.hbase.coprocessor.AggregateImplementation</value>
</property>
用于协处理器,目前我们不使用。删除这部分解决了这个问题,但是,我想如果我们将来想使用协处理器,我们可能会再次遇到这个问题,请提供任何其他帮助,我们将不胜感激。
关于java - 在 HBASE 中创建表时找不到类异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44084766/