2017-05-19 3 views
1

Ich habe Nutch1.13 mit Solr 6.5.1 auf einer ec2-Instanz integriert. Ich habe schema.xml nach Solr kopiert, indem ich den Befehl cp unten verwendet habe. Ich habe localhost als elatic.host in nutch-site.xml im Ordner nutch_home/conf angegeben.Solr Indizierung nach einem Nutch-Crawl schlägt fehl, meldet "Indexer: java.io.IOException: Job fehlgeschlagen!"

cp /usr/local/apache-nutch-1.13/conf/schema.xml /usr/local/apache-nutch-1.13/solr-6.5.1/server/solr/nutch/conf/

Auch jedes Mal, wenn managed-Schema erstellt wird, da es solr ist 6. Alles bis zur Indizierung funktioniert gut. Der Befehl, den ich versuchte, ist

[EC2-user @ ip-172-31-16-137 Apache-nutch-1.13] $ bin/Crawl -i -D solr.server.url = http://35.160.82.191:8983/solr/#/nutch/ Urls/crawl 1

Alles scheint in Ordnung, bis Indexierung beim Ausführen über Befehl. Ich bin bei diesem letzten Schritt total festgefahren.

Fehler läuft: /usr/local/apache-nutch-1.13/bin/nutch Index -Dsolr.server.url =: //35.160.82.191: 8983/Solr/#/nutch/crawl/crawldb -linkdb kriechen/LinkDB kriechen/Segmente/20170519074733 mit Ausgang Wert 255.

Dank im Voraus fehlgeschlagen

UPDATE I unten prperty in conf/nutch-site.xml geändert

<property> 
<name>plugin.includes</name> 
<value>protocol-http|urlfilter-regex|parse-html|index-(basic|anchor)|query-(basic|site|url)|response-(json|xml)|summary-basic|scoring-opic|urlnormalizer-(pass|regex|basic)</value> 
</property> 

Jetzt kein Fehler, aber ich bekomme folgende

Deduplizierung beendet am 2017.05.19 10.08.05, verstrichene: 00.00.03 Indexing 20170519100420 indizieren /usr/local/apache-nutch-1.13/bin/nutch index -Dsolr.server.url = // 35.160.82.191:8983/solr/nutch/ crawl/crawldb-linkdb crawl/linkdb crawl/segmente/20170519100420 Segment dir ist komplett: crawl/Segmente/20170519100420. Indexer: bei 2017.05.19 10.08.06 Indexer starten: Löschen gegangen Dokumente: false Indexer: URL-Filterung: false Indexer: URL-Normalisieren: false Keine IndexWriters aktiviert - überprüfen Sie Ihre Konfiguration Indexer: Anzahl der Indizierte, gelöschte oder übersprungene Dokumente: Indexer: 44 indexiert (hinzufügen/aktualisieren) Indexer: abgeschlossen am 2017-05-19 10:08:10, verstrichen: 00:00:03 Index aufräumen wenn möglich /usr /local/apache-nutch-1.13/bin/nutch clean -Dsolr.server.url = // 35.160.82.191:8983/solr/nutch/ crawl/crawldb Fr 19. Mai 10:08:13 UTC 2017: Fertige Schleife mit 1 Iterationen

UPDATE 2 Ich fand solr-Indexer in nutch-site.xml Hilfe beim Hinzufügen als post in dieser sugested aber jetzt Fehler sind Teil

Fehler Lauf bei der Reinigung: /usr/local/Apache- nutch-1.13/bin/nutch clean -dsolr.server.url =: //35.160.82.191: 8983/Solr/nutch/crawl/crawldb mit Exit-Wert Fehlgeschlagen 255.

Irgendwelche Vorschläge, da ich überhaupt eine Suchmaschine Solr UPDATE 3

nun keinen Fehler implementieren möchten . aber das Holen funktioniert aus irgendeinem Grund nicht. Nur in URLs/seed.txt angegebene URLs werden abgerufen und gecrawlt. auf keine externen Links folgt nutch.

[EC2-user @ ip-172-31-16-137 Apache-nutch-1.13] $ bin/Crawl -i -D solr.server.url = http://35.160.82.191:8983/solr/nutch/ Urls/crawl 5 Injecting Samen URLs /usr/local/apache-nutch-1.13/bin/nutch inject kriechen/crawldb URLs/ Injector: ab 2017.05.19 00.27.19 Injector: crawlDb: kriechen/crawldb Injector: urlDir: URLs Injektor: Konvertieren von injizierten URLs zum Crawlen von Datenbankeinträgen. Injector: Überschreiben: false Injector: update: false Injector: Gesamt durch Filter zurückgewiesen URLs: 0 Injector: Gesamt injiziert URLs nach Normalisierung und Filtern: 1 Injector: Gesamt URLs injiziert, aber bereits in CrawlDb: 1 Injector: Gesamt Neue URLs eingespritzt: 0 Injektor: abgeschlossen am 2017-05-19 12:27:21, verstrichen: 00:00:02 Fr 19. Mai 12:27:21 UTC 2017: Iteration 1 von 5 Generierung eines neuen Segments /usr/local/apache-nutch-1.13/bin/nutch generate -D mapreduce.job.reduces = 2 -D mapred.child.java.opts = -Xmx1000m -D mapreduce.reduce.speculative = false -D mapreduce.map .speculative = false -D mapreduce.map.output.compress = true crawl/crawldb crawl/Segmente -topN 50000 -numFetchers 1 -noFilter Generator: ab 2017-05-19 12:27:23 Generator: Auswählen der besten URLs, die zum Abrufen fällig sind. Generator: Filterung: false Generator: Normalisieren: true Generator: Erster N: 50000 Generator: 0 Datensätze zum Abrufen von ausgewählten, beendet ... Generieren ergab 1 (keine neuen Segmente erzeugt) Austretende loop: nicht mehr URLs zu holen jetzt

ich möchte nutch Daten für Web-Suchergebnisse von Solr FINAL UPDATE

[[email protected] apache-nutch-1.13]$ bin/crawl -i -D solr.server.url=://35.160.82.191:8983/solr/nutch/ urls/ crawl 1 
+0

Segment dir ist komplett: kriechen/Segmente/20170519074733. Indexer: bei 2017.05.19 07.52.41 Indexer starten: Löschen gegangen Dokumente: false Indexer: URL-Filterung: false Indexer: URL Normalisieren: false – SMJ

+0

Aktiv IndexWriters: ElasticIndexWriter \t elastic.cluster: elastisch prefix Cluster \t elastic.host: Hostname \t elastic.port: port \t elastic.index: Elastizitätsindex Befehl \t elastic.max.bulk.docs: elastische bulk Index doc zählt. (Standard 250) \t elastic.max.bulk.size: elastische Volumenindexlänge in Byte. (Standard 2500500) \t elastic.exponential.backoff.millis: Elastische Exponential-Backoff-Anfangsverzögerung in Millisekunden. (Standard 100) \t elastic.exponential.backoff.retries: Elastische Exponential-Backoff-Max-Wiederholungsversuche. (Standard 10) – SMJ

+0

Fehler beim Ausführen: /usr/local/apache-nutch-1.13/bin/nutch index -Dsol.r.server.url = http: //35.160.82.191: 8983/solr/#/nutch/crawl/crawldb -linkdb crawl/linkdb crawl/segments/20170519074733 Fehlgeschlagen mit Ausgangswert 255. – SMJ

Antwort

0

verwenden 10 muss nicht in Solr kopiert werden, sondern nur in die Datei schema.xml, um das gewünschte Schema für die Daten von Nutch anzugeben. Wenn Sie Solr und nicht ES verwenden, ist dieser Parameter elatic.host nicht erforderlich. Überprüfen Sie die logs/hadoop.log Datei, um zu sehen, ob es mehr Daten über die Ausnahme gibt, und überprüfen Sie natürlich die Protokolle auf der Solr-Seite, dieser Fehler bedeutet normalerweise, dass etwas mit der Solr-Konfiguration nicht stimmt, fehlende Felder usw. In diesem Fall seit du hast die schema.xml nicht kopiert und Nutch nutzt das verwaltete Schema auf Solr 6 nicht aus, Solr muss sich über die fehlenden Felder beschweren, auch deine solr-URL inklusive sieht nicht gut aus, so der Solr Admin UI zeigt die Daten im Browser an, aber um es von Nutch/Terminal zu verwenden, sollte /solr/nutch sein.

BTW the tutorial Überprüfen obwohl einige der Pfade in den letzten Solr Versionen geändert haben, ist immer noch eine gute Richtschnur, wie die Integration funktioniert

+0

Ich hatte diese Ausnahme bevor ich elastic.host hinzugefügt habe "Indexer: java.lang.RuntimeException: Fehlender elastic.cluster und elastic.host. Mindestens einer von ihnen sollte in nutch-site.xml" – SMJ

+0

gesetzt werden und ich folge dem besagten Tutorial, obwohl es ein wenig veraltet ist. – SMJ

+0

Hattest du das indexer-elastische Plugin? aktiviert in 'plugins.include'? Das könnte den Fehler bezüglich der fehlenden Konfiguration erklären. –