我在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
错误: 线程“main”中的异常java.io.IOException:不是文件: HDFS://主:54310 /用户/的nutch /网址/ crawldb 在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) 在org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 在com.bdc.dod.dashboard.BDCQueryStatsViewer.main(BDCQueryStatsViewer.java:796) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at 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。我之前安装过程很顺利。
有人可以建议解决方案吗?
顺便说一下,我跟着link进行了安装和运行。
答案 0 :(得分:0)
我可以解决这个问题。将文件从本地文件系统复制到HDFS目标文件系统时,它曾经是这样的:bin / hadoop dfs -put~ / nutch / urls urls。
但是它应该是“bin / hadoop dfs -put~ / nutch / urls / * urls”,这里urls / *将允许子目录。