无法在 Hadoop2 上运行 Nutch2(Nutch 2.x + Hadoop 2.4.0 + HBase 0.94.18 + Gora 0.5 + Avro 1.7.6)

Posted

技术标签:

【中文标题】无法在 Hadoop2 上运行 Nutch2(Nutch 2.x + Hadoop 2.4.0 + HBase 0.94.18 + Gora 0.5 + Avro 1.7.6)【英文标题】:Can't run Nutch2 on Hadoop2 (Nutch 2.x + Hadoop 2.4.0 + HBase 0.94.18 + Gora 0.5 + Avro 1.7.6) 【发布时间】:2014-10-03 13:58:00 【问题描述】:

我需要在上述配置中为 EMR 安装 Nutch 2.3 (subj)。

在本地计算机上完成:

    Nutch 2.x

1.1 svn 当前 2.x 版本

1.2。准备好的脚本:

1.2.1 常春藤:

依赖 org="org.apache.hadoop" name="hadoop-common" rev="2.4.0" 依赖 org="org.apache.hadoop" name="hadoop-mapreduce-client-core" rev="2.4.0" 依赖 org="org.apache.gora" name="gora" rev="0.5" 依赖 org="org.apache.gora" name="gora-hbase" rev="0.5"

1.2.2 default.properties:

hadoop.version=2.4.0
version=2.3-SNAPSHOT

1.3。添加了

public int getFieldsCount()  return Field.values().length; 

到 ProtocolStatus.java、ParseStatus.java、Host.java、WebPage.java。

    HBase

2.1 svn HBase 0.94.18

为 Protobuf 2.5.0 准备的 2.2,也感谢 Dobromyslov [https://github.com/dobromyslov]

2.3还生成了hbase-0.94.18-hadoop-2.4.0.jar

    Gora 0.5(还针对 com.argonio.gora 的 0.4、0.6-SNAPSHOT 和 0.5.3 版本进行了测试)

    Avro 1.7.6(也可以使用 1.7.4、1.7.7 版本)

4.1 svn

针对 AVRO-813 的 4.2 补丁

4.3 为 AVRO-882 打补丁并回滚

在 [1] 中修补了 4.4 - 评论抛出 EOFException 反对

org.apache.avro.io.BinaryDecoder.ensureBounds(BinaryDecoder.java:473),

等等

在多次例外之后,Nutch 2.x 和 Avro 1.7.6 中进行了一些更改。

Nutch 看起来有点跑,但不稳定且不正确。

循环(注入、生成、获取、解析、更新b)已通过,但某些功能已损坏并被忽略。

似乎我打破了 Nutch 和 HBase 之间的正常数据交换(也包括 gora 和 avro)。某些字段(和/或某些数据格式)读取和写入不正确。 F.e.许多标记丢失(在代码中临时模拟); batchId 字段中的数据丢失;得分也坏了。

请帮忙!我已准备好发布我所有的差异和异常跟踪。

[1]http://mail-archives.apache.org/mod_mbox/nutch-user/201409.mbox/%3cCAEmTxX9HrRM00SxerFAdRdZy=wVAd9xCchDTuLaxPQ=wi0QEsw@mail.gmail.com%3e

【问题讨论】:

【参考方案1】:

我们通过在 conf/nutch-site.xml 中为 io.serializations 属性设置旧的(即 hadoop-1.2.0)值解决了 EOFExceptions 和不稳定的问题:

<property>
  <name>io.serializations</name>
  <value>org.apache.hadoop.io.serializer.WritableSerialization</value>
  <description>A list of serialization classes that can be used for
  obtaining serializers and deserializers.</description>
</property>

事实证明,不需要修补 Avro。

【讨论】:

以上是关于无法在 Hadoop2 上运行 Nutch2(Nutch 2.x + Hadoop 2.4.0 + HBase 0.94.18 + Gora 0.5 + Avro 1.7.6)的主要内容,如果未能解决你的问题,请参考以下文章

hadoop2.2的nodemanager无法启动

nutch2.x在eclipse+windows环境下运行遇到的一些问题的解决方案

Nutch2.2.1 笔记二 : Nutch2.2.1 + Mysql 配置,调试

在 CDH4 集群上运行 Pig 时无法进入 mapreduce 模式(Hadoop 2 + MapReduce v1)

重启电脑后Namenode无法启动(hadoop 2.7.3)

Nutch2 WebPage 字段解释