首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启动HBASE,java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder

启动HBASE,java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder
EN

Stack Overflow用户
提问于 2018-11-02 02:08:45
回答 3查看 3K关注 0票数 5

我尝试使用start-hbase.sh启动HBASE,但是,我得到了错误:java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder.

我试着把不同的.jar添加到不同的文件夹中(如其他帖子所建议的),但是都不起作用。我使用的是hadoop3.11和hadoop2.10,这里是错误日志(结尾)。

代码语言:javascript
复制
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster. 
    at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2972)
    at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:236)
    at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:140)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:149)
    at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2983)
Caused by: java.lang.NoClassDefFoundError: org/apache/htrace/SamplerBuilder
    at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:635)
    at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:619)
    at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149)
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669)
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
    at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
    at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)
    at org.apache.hadoop.hbase.util.CommonFSUtils.getRootDir(CommonFSUtils.java:358)
    at org.apache.hadoop.hbase.util.CommonFSUtils.isValidWALRootDir(CommonFSUtils.java:407)
    at org.apache.hadoop.hbase.util.CommonFSUtils.getWALRootDir(CommonFSUtils.java:383)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.initializeFileSystem(HRegionServer.java:691)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:600)
    at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:484)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
    at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2965)
    ... 5 more
Caused by: java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    ... 25 more
EN

回答 3

Stack Overflow用户

发布于 2018-12-28 21:01:21

Apache2.1.0版本使用了HTrace,这是一个孵化中的HBase基金会项目。

在HBase lib文件夹client-facing-thirdparty中有一个用于第三方库的文件夹。您需要将库中的htrace-core-3.1.0-incubating.jar复制到HBase库目录中。(see reference)

Cloudera Community还有另一个解决方案,可以更改配置而不是手动添加库。

票数 6
EN

Stack Overflow用户

发布于 2018-11-06 00:05:51

Hbase和Hadoop之间似乎存在兼容性问题,我恢复使用Hadoop 2.9.1和Hbase 1.2.6以及JDK 1.8.0

票数 1
EN

Stack Overflow用户

发布于 2019-05-24 09:58:40

HBase 2.1.4在client-facing-thirdparty中没有htrace-core-3.1.0-incubating.jar

您需要从2.1.3复制或从https://mvnrepository.com/artifact/org.apache.htrace/htrace-core下载

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53106952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档