无法在 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)值解决了 EOFException
s 和不稳定的问题:
<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)的主要内容,如果未能解决你的问题,请参考以下文章
nutch2.x在eclipse+windows环境下运行遇到的一些问题的解决方案
Nutch2.2.1 笔记二 : Nutch2.2.1 + Mysql 配置,调试
在 CDH4 集群上运行 Pig 时无法进入 mapreduce 模式(Hadoop 2 + MapReduce v1)