【发布时间】:2019-11-21 21:44:20
【问题描述】:
我正在尝试在云模式下使用 Apache Solr 7.6.0 设置 Apache Nutch 1.15。爬网脚本 (nutch/bin/crawl) 工作正常,直到清理工作 (CleaningJob.java) 开始。然后它会无缘无故地失败 (reason: NA)。
我已成功设置相同版本的 Nutch 和 Solr,但 Sorl 处于独立模式。
我正在使用以下命令以云模式启动 Solr:
solr/bin/solr start -cloud -p 8983 -s "solr/cloud/node1/solr"
solr/bin/solr start -cloud -p 7574 -s "solr/cloud/node2/solr" -z localhost:9983
我正在使用以下命令开始抓取过程:
nutch/bin/crawl -i -s nutch/urls/ --num-threads 400 --hostdbupdate --hostdbgenerate --num-tasks 16 --sitemaps-from-hostdb once niche-crawl 8
清理工作失败。 :
nutch/bin/nutch clean niche-crawl/crawldb
有一个例外:
No exchange was configured. The documents will be routed to all index writers.
SolrIndexer: deleting 1000/1000 documents
SolrIndexer: deleting 1000/1000 documents
ERROR CleaningJob: java.lang.RuntimeException: CleaningJob did not succeed, job status:FAILED, reason: NA
at org.apache.nutch.indexer.CleaningJob.delete(CleaningJob.java:169)
at org.apache.nutch.indexer.CleaningJob.run(CleaningJob.java:197)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.nutch.indexer.CleaningJob.main(CleaningJob.java:208)
这是我的index-writers.xml 云模式下的 Solr:
<writer id="indexer_solr_1" class="org.apache.nutch.indexwriter.solr.SolrIndexWriter">
<parameters>
<param name="type" value="cloud"/>
<param name="url" value="http://localhost:8983/solr"/>
<param name="collection" value="nutch"/>
<param name="weight.field" value=""/>
<param name="commitSize" value="1000"/>
<param name="auth" value="true"/>
<param name="username" value="solr"/>
<param name="password" value="password"/>
</parameters>
<mapping>
<copy>
<!-- <field source="content" dest="search"/> -->
<!-- <field source="title" dest="title,search"/> -->
</copy>
<rename>
<field source="metatag.description" dest="description"/>
<field source="metatag.keywords" dest="keywords"/>
</rename>
<remove>
<field source="segment"/>
</remove>
</mapping>
</writer>
【问题讨论】: