HBase在几秒钟后崩溃

时间:2016-01-29 17:59:20

标签: java hadoop hbase

我一直在关注此页面上给出的HBase安装说明: https://hbase.apache.org/book.html#quickstart

我正在使用HBase 1.1.3版(稳定版)并已在独立模式下配置。我已经安装了OpenJDK 7

当我尝试启动hbase时,它在几秒钟后崩溃,我收到以下错误:

2016-01-29 17:37:04,136 ERROR [main] master.HMasterCommandLine: Master   exiting
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster
    at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:143)
    at org.apache.hadoop.hbase.LocalHBaseCluster.addMaster(LocalHBaseCluster.java:219)
    at org.apache.hadoop.hbase.LocalHBaseCluster.<init>(LocalHBaseCluster.java:155)
    at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:224)
    at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:139)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
    at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2355)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.util.Bytes$LexicographicalComparerHolder$UnsafeComparer
    at org.apache.hadoop.hbase.util.Bytes.putInt(Bytes.java:899)
    at org.apache.hadoop.hbase.KeyValue.createByteArray(KeyValue.java:1082)
    at org.apache.hadoop.hbase.KeyValue.<init>(KeyValue.java:652)
    at org.apache.hadoop.hbase.KeyValue.<init>(KeyValue.java:580)
    at org.apache.hadoop.hbase.KeyValue.<init>(KeyValue.java:483)
    at org.apache.hadoop.hbase.KeyValue.<init>(KeyValue.java:370)
    at org.apache.hadoop.hbase.KeyValue.<clinit>(KeyValue.java:267)
    at org.apache.hadoop.hbase.HConstants.<clinit>(HConstants.java:978)
    at org.apache.hadoop.hbase.HTableDescriptor.<clinit>(HTableDescriptor.java:1488)
    at org.apache.hadoop.hbase.util.FSTableDescriptors.<init>(FSTableDescriptors.java:124)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:570)
    at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:365)
    at org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.<init>(HMasterCommandLine.java:307)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:139)
    ... 7 more

有谁能告诉我这个错误的原因? 如果您需要更多信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

导致此问题的异常是NoClassDefFoundError,这通常意味着您遗漏了类路径中的内容。在这种情况下,您遗漏了来自org.apache.hadoop.hbase.util.Bytes的{​​{1}}。但是,如果缺少一个,也可能有其他人。这可能意味着您以错误的方式启动HBase。您是否尝试过包含的启动脚本?