Gora MongoDb Exception,不能序列化Utf8

时间:2015-06-05 09:03:42

标签: mongodb nutch gora

我试图让nutch 2.3与mongoDB一起工作,但我得到以下异常:

java.lang.IllegalArgumentException: can't serialize class org.apache.avro.util.Utf8
at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:284)
at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:185)

我找到了与此问题相关的以下故障单,其中说明应该在nutch 2.3中解决:https://issues.apache.org/jira/browse/NUTCH-1843

还有Gora项目的另一张票,说明这个问题实际上已在Gora 0.6中得到解决,可以在https://issues.apache.org/jira/browse/GORA-388找到。然而,Nutch 2.3使用gora 0.5。所以我不知道如何在nutch 2.3中解决这个问题。

我真的很想使用MongoDB,但我似乎无法克服这个问题。 有没有人能够洞察这个问题?这是配置问题吗?

1 个答案:

答案 0 :(得分:0)

解决方案是将以下补丁:https://issues.apache.org/jira/browse/NUTCH-1946应用于您的项目。此补丁将gora更新为0.6,其中包含此问题的修复程序。

如果您在GeneratorJob期间遇到RuntimeException,请将以下内容添加到您的nutch-site.xml

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