2012-10-08 2 views
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) 

존재하지 않는, 오류의 첫 번째 줄은 될 :nutch2.0 하둡 입력 경로가

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이 정상적으로 실행되므로 쉘에서 실행할 수 있습니다. 다음으로 nutch2.0에 폴더를 생성하면 크롤러가 실행될 수 있지만 콘솔 출력이 비정상적인 것처럼 보입니다. 이제 식사를해야합니다.

답변

0

입력 경로가없는 것 같습니다. 허벅지로 excactly 말했다. hdfs dfs -ls/user/yuqing/2가 뭔가를 반환하는지 확인하십시오. (2는 파일이나 디렉토리 여야합니다.)

두 번째 부분에서는 hadoop 구성을 제거하면 hadoop 라이브러리가 내부 구성을 사용합니다 * -default.xml, fe core-default.xml이라는 이름의 배포판에서, 그리고 '로컬'모드에서 hadoop 기능을 수행한다. '로컬'모드에서는 모든 경로가 로컬 (로컬 파일 시스템)입니다. 그래서 'hdfs'모드에서 파일을 참조 할 때, f.e. hdfs dfs -ls/some/file, hadoop은 hdfs (hdfs : //namenode.ip/some/file)에서 파일을 검색 할 것이지만, 로컬 모드 파일은 상대적으로 검색됩니다 (일반적으로 file :/home/user/some/파일). 출력에서 ​​확인할 수 있습니다. file : /home/yuqing/workspace/nutch2.0/2