【问题标题】:Nutch path errorNutch 路径错误
【发布时间】:2025-11-23 04:50:01
【问题描述】:

您好,我已经在 Ubuntu 上安装了 solr 和 nutch。我能够在某些情况下进行爬网和索引,但并非一直如此。我反复收到此路径错误,无法在线找到解决方案。通常,我会删除有错误的目录并重新运行,它会运行良好。但我不想再这样做了。是什么导致了错误?谢谢。

LinkDb: adding segment: file:/home/nutch/nutch/runtime/local/crawl/segments/20111027231916
LinkDb: adding segment: file:/home/nutch/nutch/runtime/local/crawl/segments/20111027232907
LinkDb: adding segment: file:/home/nutch/nutch/runtime/local/crawl/segments/20111027233840
LinkDb: adding segment: file:/home/nutch/nutch/runtime/local/crawl/segments/20111027224701
LinkDb: org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: file:/home/nutch/nutch/runtime/local/crawl/segments/20111027231916/parse_data
Input path does not exist: file:/home/nutch/nutch/runtime/local/crawl/segments/20111027232907/parse_data
Input path does not exist: file:/home/nutch/nutch/runtime/local/crawl/segments/20111027233840/parse_data
    at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:190)
    at org.apache.hadoop.mapred.SequenceFileInputFormat.listStatus(SequenceFileInputFormat.java:44)
    at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:201)
    at org.apache.hadoop.mapred.JobClient.writeOldSplits(JobClient.java:810)
    at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:781)
    at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:730)
    at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1249)
    at org.apache.nutch.crawl.LinkDb.invert(LinkDb.java:175)
    at org.apache.nutch.crawl.LinkDb.run(LinkDb.java:290)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.nutch.crawl.LinkDb.main(LinkDb.java:255)

【问题讨论】:

    标签: solr nutch web-crawler


    【解决方案1】:

    你一定是杀死了一个 Nutch 进程。只需清除目录 crawldb 等,就可以了。

    Nutch 首先在爬取路径中寻找一个现成的链接数据库(linkdb),如果找不到,则从您提供的种子文件中创建一个新的。如果您终止爬网进程,这将导致从链接数据库读取失败。

    【讨论】:

      【解决方案2】:
      bin/nutch solrindex http://127.0.0.1:8983/solr/ crawl/crawldb -linkdb crawl/linkdb crawl/segments/*
      

      检查爬虫文件夹是否存在并具有适当的权限,并且您需要像上面一样使用-linkdb,因为在新版本中它是可选的。大多数情况下,此错误是由于您为 crawldb linkdb 和段路径指定的路径未正确给出。

      我遇到了与上面使用的语法相同的问题。只需检查您为这些指定的文件夹是否正确。

      用这个,

      http://thetechietutorials.blogspot.com/2011/06/solr-and-nutch-integration.html

      为我工作。

      【讨论】: