2017-12-09 21 views
0

Hadoop (2.5.2) 다중 노드 클러스터 (AWS EC2 시스템) 위에 Apache Nutch 2.3.1을 설치했습니다. 그에 따라 Nutch 파일을 구성했습니다 (마스터 노드에서). seed.txt 파일 (크롤링 할 URL이 있음)을 마스터에서 Hdfs 파일 시스템으로 이동했습니다. 이제 다음 명령을 실행하여 크롤링합니다.Apache Nutch에서 크롤링하는 동안 오류가 발생했습니다.

bin/hadoop jar /home/ubuntu/nutch/runtime/deploy/apache-nutch-2.3.1.job org.apache.nutch.crawl.Crawl URL - 내가 오류를 받고 있어요 -depth 1 -topN 5

DIR 기어,

Exception in thread "main" java.lang.ClassNotFoundException: org.apache.nutch.crawl.Crawl 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Class.java:348) 
     at org.apache.hadoop.util.RunJar.main(RunJar.java:205) 

나는 자바를 설치 한 - 1.8.0_151. 이 자바 버전에서는 크롤링 클래스를 찾을 수 없습니다. 그래서 우리는 java1.8을 java1.7 버전으로 대체해야합니다. 그렇지 않으면 문제가 다른 것입니다.

이 문제를 해결하십시오.

답변

3

클래스 org.apache.nutch.crawl.Crawl은 오랜 세월 동안 삭제되었습니다. 대신 쉘 스크립트 bin/crawl을 실행하는 것이 좋습니다. 주입, 생성, 가져 오기, 구문 분석 등 크롤링의 모든 단계에 대해 Hadoop 작업을 시작합니다. 또는 bin/nutch를 통해 각 단계를 실행할 수 있습니다 (cf. https://wiki.apache.org/nutch/Nutch2Tutorial