Gora MongoDb异常,无法序列化utf8

Gora MongoDb Exception, can't serialize Utf8

我正在尝试让 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,但我似乎无法克服这个问题。 有没有人对这个问题有洞察力?是配置问题吗?

解决方案是将以下补丁应用到您的项目: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>