2013-07-02 42 views
0

我安裝了hadoop-2.0.5-alpha,hbase-0.95.1-hadoop2和zookeeper-3.4.5。 Hadoop和zookeper運行良好。 HDFS和MR2工作得很好。但HBase無法啓動。有沒有人看過這個錯誤?我會在下面發佈我的配置和日誌。在此先感謝您的幫助。hbase 0.95.1 hadoop-2.0.5 alpha失敗

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.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) 
+0

看起來像我donwloaded構建是2.0.2,我有Hadoop的2.0.5。 HBase網站尚未發佈2.0.5版本。這是我到目前爲止所嘗試的。我將hbase/lib xxx-2.0.2下的所有hadoop jar替換爲我從hadoop/lib/shared獲得的xxx-2.0.5。這使HBase崩潰,它不會啓動。我嘗試的第二件事是下載源代碼。我編輯了爲hadooop verson 2.0.5構建的pom.xml,並運行了mvn -Dhadoop.profile = 2.0編譯。該構建在嘗試構建hbase-server時崩潰。我還可以做些什麼? –

回答

0

確保已建HBase的正確(保持所有的Hadoop-2.0.5記住依賴關係)。驗證hbase/lib目錄中的hadoop-core jar是否與hadoop中的hadoop jar相同。在你的pom.xml中檢查一次hadoop的版本並相應地生成hbase。

如果你仍然面臨任何問題,你可以嘗試從HBASE-7904補丁和重建您的HBase。

HTH

0

可能會有兼容性問題,同時用Hadoop 2.x的安裝HBase的請 check