运行Hbase编程实例时报错:java.lang.NoClassDefFoundError: org/apache/htrace/core/Tracer

解决原因:

    可能是hadoop和hbase下的htrace-core版本不一样导致的。

解决步骤:

今天在运行hbase实例时报错:

网上查找了很多教程,没有解决问题,在看了一篇博客是产生了一个想法,链接:http://www.blogjava.net/anchor110/articles/424888.html

上面的解决办法是:将$HADOOP_HOME/share/hadoop/common/lib下的htrace-core-3.0.4.jar复制到$HBASE_HOME/lib下。起初我以为是hbase/bin目录下缺少htrace-core-3.0.4.jar(我自己的是3.1.0)导致的,于是我查看了一下hbase/lib目录,里面有这个jar包:

我又查看了hadoop/share/hadoop/common/lib目录,发现里面也有一个htrace-core的jar包,不过版本不一样:

我运行实例导入的是hbase/lib目录下的3.1.0的版本,

运行会报错,看了前面的博客后,我想到是不是因为hadoop和hbase下的htrace-core版本不一样导致的冲突,于是我重新导入了hadoop下的那个htrace-core4-4.1.0的包

再次运行实例,这是没有报错

问题成功解决!

总结:

       hbase报错java.lang.NoClassDefFoundError: org/apache/htrace/core/Tracer的解决方法因人而异,每个人的系统环境可能不一样,多尝试几种方法应该是可以解决问题的。

猜你喜欢

转载自blog.csdn.net/weixin_43325626/article/details/110264365