2011-12-06 44 views
2

我搜索了很多有關的下列問題現在面臨:Hadoop的HBase的+的兼容性問題

產生java.io.IOException:調用/10.0.1.37:50070失敗的地方 例外:java.io. EOFException at org.apache.hadoop.ipc.Client.wrapException(Client.java:1139) at org.apache.hadoop.ipc.Client.call(Client.java:1107) at org.apache.hadoop.ipc .RPC $ Invoker.invoke(RPC.java:226)....

我找到如下鏈接:和其他人,但他們都沒有爲我工作。

現在我開始覺得我並沒有更好地理解版本兼容性問題。 最讓我困惑的是Hbase有關Hadoop的文檔,其中有關「Hbase的這個版本只能在Hadoop 0.20上運行」的說法。 'this'在這裏指的是什麼?它們是否意味着0.93快照(位於文檔的頂部)?

最後,我使用Hadoop版本0.20.203和Hbase 0.90.4。有人能告訴我這些版本是否兼容?

在此先感謝!

回答

1

我同意這本書給出了一個奇怪的參考,談論「這個版本」,還談到「0.93」。爲了使事情更加清晰,本書目前超越了版本,但只存在於當前稱爲0.93的主幹中(並且編譯它添加了-snapshot)。

在任何情況下,所有的HBase版本都兼容所有的Hadoop 0.20。*是0.20.2或0.20.205.0,而後者是目前唯一支持附加的版本。您使用的版本0.20.203不會,並且如果區域服務器死亡,您可能會丟失數據。

您的EOF異常可能是因爲您沒有正確交換HBase庫/文件夾中的Hadoop罐。我昨天在郵件列表上回答了一個類似的問題EOFException in HBase 0.94(它被錯誤地命名爲0.94,應該是0.90.4),這給出了關於調試的其他線索。

最後,您的堆棧跟蹤中有一個奇怪的端口號。 50070是Web UI,而不是默認情況下爲9000的Namenode RPC端口。可能是因爲您給了HBase錯誤的端口號。

-1

我從張貼的鏈接中獲得了輸入,並且它爲我工作。我只需要將在$ HADOOP_HOME/lib中找到的額外guava * .jar複製到$ HBASE_HOME/lib(使用hadoop-0.20.2)