2014-12-13 21 views
0

我是Nutch(2.2.1)的新手,尝试在Cygwin/Windows 7上运行最新版本的Gora(0.5),因此我可以将数据保存到MongoDB (2.6)数据存储。我更改了Nutch-Site.XML文件以包含我的Mongo属性,但对于需要的gora-mongodb.mapping.XML属性文件here有点困惑。只是想知道我是否需要:gora-mongodb.mapping.XML属性文件

1)在我在gora-mongodb.mapping文件的class-name属性中指定的Nutch/Gora项目中创建一个Java类,或者Gora会为我创建这个类?该文件似乎不是很清楚。

2)我在我的apache-nutch-2.2.1 \ runtime \ local \ conf文件夹中创建了一个示例文件,并添加了我的MongoDB集合的名称。当我运行Nutch我得到以下错误:

$ ./nutch crawl urls -dir testCrawl -depth 3 -topN 5 
cygpath: can't convert empty path 
Exception in thread "main" org.apache.gora.util.GoraException: java.lang.IllegalStateException: A collection is not specified 
     at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:167) 
     at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:135) 
     at org.apache.nutch.storage.StorageUtils.createWebStore(StorageUtils.java:75) 
     at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:221) 
     at org.apache.nutch.crawl.Crawler.runTool(Crawler.java:68) 
     at org.apache.nutch.crawl.Crawler.run(Crawler.java:136) 
     at org.apache.nutch.crawl.Crawler.run(Crawler.java:250) 
     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 
     at org.apache.nutch.crawl.Crawler.main(Crawler.java:257) 
Caused by: java.lang.IllegalStateException: A collection is not specified 
     at org.apache.gora.mongodb.store.MongoMappingBuilder.build(MongoMappingBuilder.java:77) 
     at org.apache.gora.mongodb.store.MongoStore.initialize(MongoStore.java:168) 
     at org.apache.gora.store.DataStoreFactory.initializeDataStore(DataStoreFactory.java:102) 
     at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:161) 
     ... 8 more 

任何帮助或澄清此文件,将不胜感激。

回答

0

您需要2个文件nutch/conf

  1. gora.properties:在这里你声明你要使用MongoDB的后端。 (注意短划线,而不是你写的点):在哪里创建Gora实体中的名称与数据存储中的字段之间的映射。

您使用的版本我真的认为它不准备使用强罗0.5,但给它一个镜头。复制gora-mongodb-mapping.xmlNutch-2.3-SNAPSHOTnutch/conf/

如果不起作用,请尝试使用Nutch-2.3-SNAPSHOT而不是2.2.1。

+0

感谢属性从Nutch-2.3-SNAPSHOT文件似乎已经工作。我得到另一个RuntimeException错误,我将单独发布。 – user676567 2014-12-22 09:43:55