我试图让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,但我似乎无法克服这个问题。 有没有人能够洞察这个问题?这是配置问题吗?
答案 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>