我正在将 Nutch 与 Hbase 和 Solr 集成。
启动Hadoop和Hbase服务后,我在Nutch Home中运行如下命令
sudo -E bin/crawl urls/seed.txt TestCrawl http://localhost:8983/solr/2
我遇到了这些错误:
Injecting seed URLs
/usr/local/apache-nutch-2.3.1/runtime/local/bin/nutch inject urls/seed.txt -crawlId TestCrawl
InjectorJob: starting at 2016-05-26 15:41:14
InjectorJob: Injecting urlDir: urls/seed.txt
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
at org.apache.gora.hbase.store.HBaseStore.initialize(HBaseStore.java:114)
at org.apache.gora.store.DataStoreFactory.initializeDataStore(DataStoreFactory.java:102)
at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:161)
at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:135)
at org.apache.nutch.storage.StorageUtils.createWebStore(StorageUtils.java:78)
at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:218)
at org.apache.nutch.crawl.InjectorJob.inject(InjectorJob.java:252)
at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:275)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.nutch.crawl.InjectorJob.main(InjectorJob.java:284)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguration
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 10 more
Error running:
/usr/local/apache-nutch-2.3.1/runtime/local/bin/nutch inject urls/seed.txt -crawlId TestCrawl
Failed with exit value 1.
谁能告诉我它有什么问题?
最佳答案
这是Nutch中的一个bug,在执行爬取脚本时无法定位传递依赖。
更好的配置是 nutch-2.3.1 和 hbase-0.98.8-hadoop2
为了更好地理解,请引用下面给出的 url
https://wiki.apache.org/nutch/Nutch2Tutorial
这是 gora-hbase 0.6.1 中的一个错误
另外添加缺少的 hbase-common-0.98.8-hadoop2.jar 传递依赖,这是 gora-hbase 0.6.1 中的一个错误
<dependency org="org.apache.hbase" name="hbase-common" rev="0.98.8-hadoop2" conf="*->default" />
有了这个我就可以成功爬取了。
关于java - 将 Apache Nutch 2.3 与 Hbase 0.94.14 和 Solr 5.2.1 集成时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37458637/