我对nutch还很陌生,所以请容忍我。我在一次测试爬网时遇到了一个ioexception。我使用的是nutch 1.6和hadoop 0.20.2(在设置文件访问权限时选择此版本是为了与windows兼容)。
我在Eclipse中奔跑。我遵循以下指南从svn导入nutch:http://wiki.apache.org/nutch/runnutchineclipse
我的爬虫代码来自以下网站:http://cmusphinx.sourceforge.net/2012/06/building-a-java-application-with-apache-nutch-and-solr/
以下是系统异常日志:
未设置solrurl,将跳过索引。。。
爬网开始于:爬网
rooturldir=网址
螺纹=1
深度=1
solrurl=空
topn=1
喷油器:从2013-03-31 23:51:11开始
喷油器:爬网数据库:爬网/爬网数据库
注入器:urldir:url
注入器:将注入的url转换为爬网db条目。
java.io.IOException: Job failed!
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1252)
at org.apache.nutch.crawl.Injector.inject(Injector.java:
at org.apache.nutch.crawl.Crawl.run(Crawl.java:
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:
at rjpb.sp.crawler.CrawlerTest.main(CrawlerTest.java:51)
我看到这些调用涉及crawl.java中#injector.inject()之前的路径
Path crawlDb = new Path(dir + "/crawldb");
Path linkDb = new Path(dir + "/linkdb");
Path segments = new Path(dir + "/segments");
Path indexes = new Path(dir + "/indexes");
Path index = new Path(dir + "/index");
目前我的eclipse项目不包括crawldb,linkdb,segments。。。我想我的问题是我没有设置爬行所需的所有文件。我只有set nutch site.xml、regex-urlfilter.txt和url/seed.txt。关于这件事的任何建议都会大有帮助。谢谢!
1条答案
按热度按时间6rvt4ljy1#
当我尝试在windows上运行nutch1.6时,并没有取得太大的成功。我下载了已知在windows中运行的最新版本(nutch1.2),没有任何问题。