0

我在 hadoop 多集群环境中运行 nutch。

使用以下命令执行 nutch 时,Hadoop 抛出错误

$ bin/hadoop jar /home/nutch/nutch/runtime/deploy/nutch-1.5.1.job org.apache.nutch.crawl.Crawl urls -dir urls -depth 1 -topN 5

错误:线程“主”java.io.IOException中的异常:不是文件:org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java: 170) 在 org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:515) 在 org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:753) 在 com.bdc.dod.dashboard.BDCQueryStatsViewer .run(BDCQueryStatsViewer.java:829) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) at com.bdc.dod.dashboard.BDCQueryStatsViewer.main(BDCQueryStatsViewer.java:796) at sun。 reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:585) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:155)

我尝试了解决此问题的可能方法并修复了所有问题,例如在 /local/conf 路径中设置 http.agent.name 等。我之前安装过并且很顺利。

有人可以提出解决方案吗?

顺便说一句,我按照链接进行安装和运行。

4

1 回答 1

0

我可以解决这个问题。将文件从本地文件系统复制到 HDFS 目标文件系统时,它曾经是这样的:bin/hadoop dfs -put ~/nutch/urls urls。

但是它应该是“bin/hadoop dfs -put ~/nutch/urls/* urls”,这里 urls/* 将允许子目录。

于 2012-11-23T01:40:49.253 回答