我不确定为什么但是Nutch 1.13无法将数据索引到ES(v2.3.3)。它正在爬行,这很好,但是当它需要索引到ES时它会给我这个错误消息:
Indexer: java.io.IOException: Job failed!
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:865)
at org.apache.nutch.indexer.IndexingJob.index(IndexingJob.java:147)
at org.apache.nutch.indexer.IndexingJob.run(IndexingJob.java:230)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.nutch.indexer.IndexingJob.main(IndexingJob.java:239)
就在此之前就是这样:
elastic.bulk.close.timeout : elastic timeout for the last bulk in seconds. (default 600)
我不确定超时是否与作业失败有关?
我已经多次运行Nutch v1.10而没有任何问题,但现在决定升级。从来没有出现过这个错误,直到现在,升级。
修改 仔细检查错误消息后:
Error running:
/home/david/tutorials/nutch/nutch-1.13/runtime/local/bin/nutch index -Delastic.server.url=http://localhost:9300/search-index/ searchcrawl//crawldb -linkdb searchcrawl//linkdb searchcrawl//segments/20170519125546
在那个特定的细分市场上似乎失败了,这意味着什么?我只知道如何使用Nutch的基础知识,我绝不是专家。是否在链接上失败了?
答案 0 :(得分:1)
在Nutch 1.14发布之前,您需要应用此补丁https://github.com/apache/nutch/pull/156并重建:
cd apache-nutch-1.13
wget https://raw.githubusercontent.com/apache/nutch/e040ace189aa0379b998c8852a09c1a1a2308d82/src/java/org/apache/nutch/indexer/CleaningJob.java
mv CleaningJob.java src/java/org/apache/nutch/indexer/.