Can';不要在Hadoop2上运行Nutch2(Nutch2.x和Hadoop2.4.0和HBase 0.94.18和Gora 0.5和Avro 1.7.6)

Can';不要在Hadoop2上运行Nutch2(Nutch2.x和Hadoop2.4.0和HBase 0.94.18和Gora 0.5和Avro 1.7.6),hbase,nutch,avro,hadoop2,gora,Hbase,Nutch,Avro,Hadoop2,Gora,我需要在上面的配置(subc)中为EMR安装Nutch 2.3 在本地计算机上完成: Nutch 2.x 1.1 svn当前2.x版本 1.2。准备的脚本: 1.2.1常春藤: dependency org="org.apache.hadoop" name="hadoop-common" rev="2.4.0" dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-core" rev="2.4.0" de

我需要在上面的配置(subc)中为EMR安装Nutch 2.3

在本地计算机上完成:

  • Nutch 2.x
  • 1.1 svn当前2.x版本

    1.2。准备的脚本:

    1.2.1常春藤:

    dependency org="org.apache.hadoop" name="hadoop-common" rev="2.4.0" dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-core" rev="2.4.0" dependency org="org.apache.gora" name="gora" rev="0.5" dependency org="org.apache.gora" name="gora-hbase" rev="0.5" 1.3。增加

    public int getFieldsCount() { return Field.values().length; }
    
    到ProtocolStatus.java、ParseStatus.java、Host.java、WebPage.java

  • 糖化血红蛋白
  • 2.1 svn HBase 0.94.18

    2.2为Protobuf 2.5.0准备,也要感谢多布罗米斯洛夫[]

    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

    4.2为AVRO-813打补丁

    4.3针对AVRO-882进行了修补和回滚

    4.4如[1]中所述进行修补-针对

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

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

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

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

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

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


    [1]

    我们通过在conf/nutch-site.xml中为
    io.serializations
    属性设置old(即hadoop-1.2.0)值,解决了
    EOFEException
    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>
    
    
    io.serializations
    org.apache.hadoop.io.serializer.WritableSerialization
    可用于的序列化类的列表
    获取序列化程序和反序列化程序。
    
    事实证明,不需要修补Avro

    <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>