【问题标题】:Hadoop + Hbase compatibility issuesHadoop + Hbase 兼容性问题
【发布时间】:2011-12-06 22:19:19
【问题描述】:

我对以下面临的问题进行了很多搜索:

java.io.IOException: 在本地调用 /10.0.1.37:50070 失败 异常:java.io.EOFException 在 org.apache.hadoop.ipc.Client.wrapException(Client.java:1139) 在 org.apache.hadoop.ipc.Client.call(Client.java:1107) 在 org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:226) ....

我找到了如下链接:What is the meaning of EOF exceptions in hadoop namenode connections from hbase/filesystem? 和其他链接,但没有一个对我有用。

现在我开始觉得我没有更好地理解版本兼容性问题。 最让我困惑的是关于 Hadoop compatibility 的 Hbase 文档,上面写着“这个版本的 Hbase 只能在 Hadoop 0.20 上运行”。这里的“这个”指的是什么?它们是指 0.93-snapshot(位于文档顶部)吗?

最后,我使用的是 Hadoop 版本 0.20.203 和 Hbase 0.90.4。谁能告诉我这些版本是否兼容?

提前致谢!!

【问题讨论】:

    标签: hadoop hbase eofexception


    【解决方案1】:

    我同意这本书给出了一个奇怪的参考来谈论“这个版本”并且还谈到了“0.93”。为了让事情更清楚一点,这本书目前超越了版本,但只存在于目前称为 0.93 的主干中(并且编译它会添加 -snapshot)。

    无论如何,所有 HBase 版本目前都与所有 Hadoop 0.20.* 兼容,无论是 0.20.2 还是 0.20.205.0.,而后者是目前唯一支持追加的版本。您使用的版本 0.20.203 没有,如果区域服务器死机,您可能会丢失数据。

    您的 EOF 异常可能是因为您没有正确交换 HBase lib/ 文件夹中的 Hadoop jar。我昨天在邮件列表EOFException in HBase 0.94 上回答了一个类似的问题(它的标题是错误的 0.94,它应该是 0.90.4),这提供了调试此问题的其他线索。

    最后,您的堆栈跟踪中有一个奇怪的端口号。 50070 是 Web UI,而不是默认为 9000 的 Namenode RPC 端口。可能是您给 HBase 提供了错误的端口号。

    【讨论】:

      【解决方案2】:

      我从发布的链接中获取输入,它对我有用。只有我必须将在 $HADOOP_HOME/lib 中找到的额外 guava*.jar 复制到 $HBASE_HOME/lib 中(使用 hadoop-0.20.2)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-02
        • 2017-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多