我按照提供的链接 https://wiki.apache.org/nutch/NutchHadoopTutorial 配置了 apache-nutch-1.15 和 hadoop 在部署模式下运行
但是当我尝试运行以下命令时
hadoop jar apache-nutch-${version}.job org.apache.nutch.crawl.Crawl urls -dir crawl -depth 3 -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.run(RunJar.java:214)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
类org.apache.nutch.crawl.Crawl在nutch v1.15中不存在,但在nutch v1.17中存在。
请帮我解决这个问题
最佳答案
自 2014 年以来,apache nutch 抓取到 hdfs 的文档就没有更新。新版本的 apache nutch 没有任何名为 org.apache.nutch.crawl.Crawl 的类。
要运行 apache nutch,请遵循与爬行到本地文件系统 ( https://wiki.apache.org/nutch/NutchTutorial ) 相关的文档。在链接中选择“选项 2:从源发行版设置 Nutch”,然后您将在运行时目录中拥有一个部署文件夹(部署模式用于将数据转储到 hadoop 上)
转到部署文件夹并执行上述链接中针对本地模式提到的相同命令,方法是将所有本地路径替换为 hdfs 路径
关于java - Apache Nutch Hadoop 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55137032/