我试图让Nutch2.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)我发现了以下与这个问题相关的票证,它说应该在Nutch2.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,但我似乎无法克服这个问题。有人对这个问题有洞察力吗?这是配置问题吗?
发布于 2015-06-08 09:06:33
解决方案是将以下修补程序应用于项目:https://issues.apache.org/jira/browse/NUTCH-1946。此修补程序将gora更新为0.6,其中包含对此问题的修复。
如果在RuntimeException过程中遇到一个GeneratorJob,请将以下内容添加到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>https://stackoverflow.com/questions/30662489
复制相似问题