ioexception在#crawl.run()->#jobclient.runjob()期间

6mw9ycah  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(253)

我对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。关于这件事的任何建议都会大有帮助。谢谢!

6rvt4ljy

6rvt4ljy1#

当我尝试在windows上运行nutch1.6时,并没有取得太大的成功。我下载了已知在windows中运行的最新版本(nutch1.2),没有任何问题。

相关问题