Почему чистая работа Apache Nutch не выполняется с Apache Solr в облачном режиме - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь настроить Apache Nutch 1.15 с Apache Solr 7.6.0 в облачном режиме. Скрипт сканирования (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>
...