0

我安装了 hadoop-2.0.5-alpha、hbase-0.95.1-hadoop2 和 zookeeper-3.4.5。Hadoop 和 zookeper 运行良好。HDFS 和 MR2 工作得很好。但是 HBase 不会启动。有没有人见过这个错误?我将在下面发布我的配置和日志。在此先感谢您的帮助。

hbase-site.xml:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master</value>
<description>The directory shared by RegionServers.
</description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>master</value>
<description>Property from ZooKeeper's config zoo.cfg.
The directory where the snapshot is stored.
</description>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:8020/hbase</value>
<description>The directory shared by RegionServers.
</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description>The mode the cluster will be in. Possible values are
  false: standalone and pseudo-distributed setups with managed Zookeeper
  true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)
</description>
</property>
</configuration>

hbase-xxxx-master-master.log :

2013-07-02 14:33:14,791 FATAL [master:master:60000] master.HMaster: Unhandled 
exception. Starting shutdown. 
java.io.IOException: Failed on local exception:
com.google.protobuf.InvalidProtocolBufferException: Message missing required fields:
callId, status; Host Details : local host is: "master/192.168.255.130"; destination 
host is: "master":8020;
    at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:760)
    at org.apache.hadoop.ipc.Client.call(Client.java:1168)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invok
   (ProtobufRpcEngine.java:202)
    at com.sun.proxy.$Proxy10.setSafeMode(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invok
   (DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod
  (RetryInvocationHandler.java:164)
    at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke
  (RetryInvocationHandler.java:83)
    at com.sun.proxy.$Proxy10.setSafeMode(Unknown Source)
    at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setSafeMode 
  (ClientNamenodeProtocolTranslatorPB.java:514)
    at org.apache.hadoop.hdfs.DFSClient.setSafeMode(DFSClient.java:1896)
    at org.apache.hadoop.hdfs.DistributedFileSystem.setSafeMode
  (DistributedFileSystem.java:660)
    at org.apache.hadoop.hbase.util.FSUtils.isInSafeMode(FSUtils.java:421)
    at org.apache.hadoop.hbase.util.FSUtils.waitOnSafeMode(FSUtils.java:828)
    at org.apache.hadoop.hbase.master.MasterFileSystem.checkRootDir
  (MasterFileSystem.java:464)
    at org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout
  (MasterFileSystem.java:153)
    at org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:137)
    at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:728)
    at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:546)
    at java.lang.Thread.run(Thread.java:662)
4

2 回答 2

0

确保您已正确构建 hbase(记住所有 hadoop-2.0.5 依赖项)。验证 hbase/lib 目录中的 hadoop-core jar 是否与 hadoop 中的 hadoop jar 相同。检查一次 pom.xml 中的 hadoop 版本并相应地构建 hbase。

如果您仍然遇到任何问题,您可以尝试HBASE-7904的补丁并重建您的 HBase。

高温高压

于 2013-07-02T22:43:33.590 回答
0

使用 hadoop 2.x 安装 hbase 时可能存在兼容性问题,请 检查

于 2013-11-24T13:05:39.133 回答