Hadoop1.2.1上的ApacheNutch1.9 jar文件中没有爬网类

wvyml7n5  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(320)

我正在运行一个由5个立方体组成的集群,类似于树莓的arm板,上面安装了hadoop1.2.1(因为32位)。有一个名称节点和四个从属节点。
在我的最后一篇论文中,我想安装ApacheNutch1.9和solr进行大数据分析。我做了如下设置:http://wiki.apache.org/nutch/nutchhadooptutorial#deploy_nutch_to_multiple_machines
在启动jar作业文件以便在整个集群上部署nutch时,出现了一个class not found异常,因为自nutch 1.7之后就没有爬网类了:http://wiki.apache.org/nutch/bin/nutch%20crawl 即使在源文件中,它也会被删除。
然后显示以下错误:
hadoop jar apache-nutch-1.9.job org.apache.nutch.crawl.crawl url-dir crawl-depth 3-topn 5警告:$hadoop\u home已弃用。
线程“main”java.lang.classnotfoundexception中出现异常:org.apache.nutch.crawl.crawl at java.net.urlclassloader$1.run(urlclassloader)。java:217)位于java.net.urlclassloader.findclass(urlclassloader)的java.security.accesscontroller.doprivileged(本机方法)。java:205)在java.lang.classloader.loadclass(classloader。java:321)在java.lang.classloader.loadclass(类加载器。java:266)在java.lang.class.forname0(本机方法)在java.lang.class.forname(类。java:266)
我在包中发现的其他类似乎可以工作,环境设置应该没有问题。
您必须在整个集群上执行爬网的备选方案是什么。由于nutch版本2.0有一个爬虫类。但不是1.9:(
非常感谢您的帮助。谢谢您。

rn0zuynd

rn0zuynd1#

我认为应该使用bin/crawl脚本,而不是将nutch作业提交给hadoop。为此,您需要执行以下操作:
下载nutch1.9源代码,假设您将源代码解压到nutch-1.9中。
导航到ntuch-1.9并运行:

ant build

一旦建造完成,运行

cd runtime/deploy

hadoop fs -put yourseed yourseedlist

bin/crawl seed.txt crawl http://yoursolrip/solr/yoursolrcore

我希望这会有帮助。

相关问题