【问题标题】:IOException during #Crawl.run() -> #JobClient.runJob()#Crawl.run() -> #JobClient.runJob() 期间出现 IOException
【发布时间】:2013-03-31 16:12:29
【问题描述】:

我对 nutch 很陌生,所以请耐心等待。在我的一次测试爬网期间,我遇到了 IOException。我正在使用 nutch 1.6 和 hadoop 0.20.2(在设置文件访问权限时为 windows 兼容选择此版本)。

我正在通过 Eclipse 运行 nutch。我按照本指南从 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=null
前 N = 1
喷油器:开始于 2013-03-31 23:51:11
注入器: crawlDb: crawl/crawldb
注射器:urlDir:网址
Injector:将注入的 url 转换为爬取数据库条目。

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... 我认为我的问题是我没有设置所有必要的文件进行爬网。我只设置了 nutch-site.xml、regex-urlfilter.txt 和 urls/seed.txt。关于此事的任何建议都会有很大帮助。谢谢!

【问题讨论】:

    标签: eclipse apache hadoop nutch


    【解决方案1】:

    当我尝试在 Windows 上运行 nutch 1.6 时,我没有取得太大的成功。 我下载了已知在 Windows 中运行的最新版本(nutch 1.2)并且没有任何问题。

    【讨论】:

      猜你喜欢
      • 2022-12-11
      • 1970-01-01
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多