1

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

4

1 回答 1

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>
于 2015-06-08T09:06:33.100 回答