【问题标题】:nutch indexer FileNotFoundException: data does not existnutch 索引器 FileNotFoundException:数据不存在
【发布时间】:2018-04-08 14:34:47
【问题描述】:

我正在运行 nutch 为 solr 爬行和索引。运行 bin/nutch 时,出现以下错误:

Indexer: java.io.FileNotFoundException: File file:/opt/nutch/crawl/linkdb/current/linkdb-merge-1124746471/data does not exist.
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:402)
at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:255)
at org.apache.hadoop.mapred.SequenceFileInputFormat.listStatus(SequenceFileInputFormat.java:47)
at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:208)
at org.apache.hadoop.mapred.JobClient.writeOldSplits(JobClient.java:1081)
at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:1073)
at org.apache.hadoop.mapred.JobClient.access$700(JobClient.java:179)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:983)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:936)
at java.security.AccessController.doPrivileged(AccessController.java:488)
at javax.security.auth.Subject.doAs(Subject.java:572)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:936)
at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:910)
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1353)
at org.apache.nutch.indexer.IndexingJob.index(IndexingJob.java:114)
at org.apache.nutch.indexer.IndexingJob.run(IndexingJob.java:176)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.nutch.indexer.IndexingJob.main(IndexingJob.java:186)

因此,它抱怨:/opt/nutch/crawl/linkdb/current/linkdb-merge-1124746471/data 不存在。 但是,/opt/nutch/crawl/linkdb/current/linkdb-merge-1124746471/part00000/data 确实存在。 这种差异怎么会发生?即在哪里可以配置索引过程,以便索引器可以找到上一步创建的文件?

任何帮助或提示将不胜感激!

【问题讨论】:

    标签: indexing solr nutch


    【解决方案1】:

    需要删除文件夹.../linkdb/current/linkdb-merge-1124746471/。它是“invertlinks”或“mergelinkdb”作业的临时文件夹。它不在正确的位置:应该是.../linkdb/linkdb-merge-1124746471/。如果使用.../linkdb/current/ 调用作业而不是.../linkdb/,则可能会发生这种情况,因为链接数据库的命名方式没有限制。

    【讨论】:

    • 确实我已经清空了两个目录的内容:linkdb 和 crawldb,再次运行 nutch,这次它按预期工作。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    相关资源
    最近更新 更多