0
Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://yuqing-namenode:9000/user/yuqing/2
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus(FileInputFormat.java:235)
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits(FileInputFormat.java:252)
at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:962)
at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:979)
at org.apache.hadoop.mapred.JobClient.access$600(JobClient.java:174)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:897)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:500)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:530)
at org.apache.nutch.util.NutchJob.waitForCompletion(NutchJob.java:50)
at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:219)
at org.apache.nutch.crawl.Crawler.runTool(Crawler.java:68)
at org.apache.nutch.crawl.Crawler.run(Crawler.java:136)
at org.apache.nutch.crawl.Crawler.run(Crawler.java:250)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.nutch.crawl.Crawler.main(Crawler.java:257)

当我从 nutch conf 中删除 hadoop 的配置文件时,第一行错误变为:

Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: file:/home/yuqing/workspace/nutch2.0/2

一旦我用 hbase 运行 Nutch2.0 成功,但现在完整的分发不工作。完整发行版中的 Hbase 运行正常,我可以在 shell 中运行它。接下来我在nutch2.0中创建一个文件夹,然后爬虫可以运行,但是控制台的输出似乎不正常。现在我得吃饭了。

4

1 回答 1

0

看起来你没有输入路径。正如hadoop所说。检查, hdfs dfs -ls /user/yuqing/2 返回一些东西(2应该是文件或目录)

至于第二部分,当您删除 hadoop 配置时,hadoop 库使用内部配置(您可以在分发中找到它们,名称为 *-default.xml、fe core-default.xml),以及在“本地”模式下的 hadoop 函数。在“本地”模式下,所有路径都是本地的(在本地文件系统中)。所以,当你在'hdfs'模式下引用文件时,fe hdfs dfs -ls /some/file,hadoop会在hdfs(hdfs://namenode.ip/some/file)中查找文件,但在本地模式下会搜索文件相对(通常是文件:/home/user/some/file)。您可以在输出中看到:file:/home/yuqing/workspace/nutch2.0/2

于 2012-10-08T19:27:57.770 回答