我想用java做一个像googlenews这样的应用程序。为此,我从零开始做,并与坚果做基本设置。
我已完成安装,但在一个命令中出现错误。
这是关于技术的简介。我正在使用
-nutch 1.11
-Cygwin
我的第一个命令是:
$ bin/nutch
这给了我完美的输出。
然后我做了如下爬行:
$ bin/nutch inject crawl/crawldb urls
它创建了crawldb文件夹并爬网给定的url
现在我要生成段,它给出了给定的错误:
$ bin/nutch generate crawl/crawldb crawl/segments
Generator: starting at 2016-04-14 17:30:29
Generator: Selecting best-scoring urls due for fetch.
Generator: filtering: true
Generator: normalizing: true
Generator: Partitioning selected urls for politeness.
Generator: segment: crawl/segments/20160414173032
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.fs.FileStatus.isDirectory()Z
at org.apache.nutch.util.LockUtil.removeLockFile(LockUtil.java:79)
at org.apache.nutch.crawl.Generator.generate(Generator.java:637)
at org.apache.nutch.crawl.Generator.run(Generator.java:743)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.nutch.crawl.Generator.main(Generator.java:699)
我不明白这个问题。jar之间是否不匹配或有其他问题。。。。
1条答案
按热度按时间relj7zay1#
你是自己做的还是用了打包的版本?我刚刚 checkout 了nutch repo的1.11分支并构建了它,执行您的命令可以毫无例外地给出正确的输出。当然,我已经在本地系统(OSX)上测试过了,它不是windows/cygwin,但这应该不是问题。
Nutch1.11分支使用的是Hadoop2.4.0,您可以在
runtime/local/lib/
文件夹,检查hadoop-*
文件夹。