在Apache Nutch中爬行时出错

时间:2017-12-09 05:50:28

标签: hadoop amazon-ec2 java-8 web-crawler nutch

我已经在Hadoop(2.5.2)多节点集群(AWS EC2机器)之上安装了Apache Nutch 2.3.1。我已相应地配置了Nutch文件(在主节点上)。我已将seed.txt文件(具有要抓取的URL)从master转移到Hdfs文件系统。现在,我运行以下命令进行爬网,

bin / hadoop jar /home/ubuntu/nutch/runtime/deploy/apache-nutch-2.3.1.job org.apache.nutch.crawl.Crawl urls -dir crawl -depth 1 -topN 5 < / strong>

我收到错误,

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)

我安装了java - 1.8.0_151。我发现在这个java版本中找不到Crawl Class。那么,我们应该用java1.7版本替换java1.8还是用其他东西替换。

帮我解决这个问题。

1 个答案:

答案 0 :(得分:3)

班级org.apache.nutch.crawl.Crawl已被删除多年。建议改为运行shell脚本bin / crawl。它将为爬网的每一步启动Hadoop作业:注入,生成,获取,解析等。或者,您可以通过bin / nutch运行每个步骤,参见https://wiki.apache.org/nutch/Nutch2Tutorial