我已经在hadoop(2.5.2)多节点集群(awsec2机器)上安装了apachenutch2.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 url-dir crawl-depth 1-topn 5
我出错了,
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_。我在中发现爬网类在这个java版本中找不到。所以,我们应该用java1.7版本替换java1.8,还是用其他东西来解决这个问题。
帮我解决这个问题。
1条答案
按热度按时间ctrmrzij1#
班级
org.apache.nutch.crawl.Crawl
多年来一直被移除。建议改为运行shell脚本bin/crawl。它将为爬网的每个步骤启动hadoop作业:注入、生成、获取、解析等。或者,您可以通过bin/nutch运行每个步骤,cf。https://wiki.apache.org/nutch/nutch2tutorial