solr-Cloud

Hier finden YaCy User Hilfe wenn was nicht funktioniert oder anders funktioniert als man dachte. Bei offensichtlichen Fehlern diese bitte gleich in die Bugs (http://bugs.yacy.net) eintragen.
Forumsregeln
In diesem Forum geht es um Benutzungsprobleme und Anfragen für Hilfe. Wird dabei ein Bug identifiziert, wird der thread zur Bearbeitung in die Bug-Sektion verschoben. Wer hier also einen Thread eingestellt hat und ihn vermisst, wird ihn sicherlich in der Bug-Sektion wiederfinden.

solr-Cloud

Beitragvon fherb » So Apr 05, 2015 12:32 am

Hallo,

Ich bin die Tage dabei, die Trennung der Yacy-Engine mit der Datenbank solr praktisch zu testen, um die Performanceansprüche der beiden Systeme besser auf verschiedene Hardware aufzuteilen. Mir geht es vor allem darum, eine Yacy-Installation als Fenster für das Netzwerk rund um die Uhr offen zu halten (Low-Power), während ein anderes System zeitweilig das Crowling und Indexieren übernimmt. Solr soll sich für beide Systeme auf leistungsfähiger Hardware im Hintergrund halten.

Bei der solr-Datenbank bin ich mir mir nicht sicher: Benötige ich für diese Konfiguration ein einfaches Interfache http://..../solr0, auf das ich mit dem Crawl-Yacy (Schreibzugriff) und dem Yacy-Suchportal (nur Anfragen, Lesezugriff) zugreife, oder muss hierfür eine Solr-Cloud eingerichtet werden und das Yacy für die Suche muss auf (z.B.) http://.../solr0 zugreifen, während das Yacy mit Crawl-Aufträgen auf http://.../solr1 zugreifen muss.

Ich möchte mich nicht erst in die Details der Systeme einarbeiten, sondern sie einfach sinnvoll nutzen. Die EInrichtung habe ich entsprechend den veröffentlichten Beschreibungen getestet. Meine Frage ist: Brauch ich in dieser Konfiguration eine solr-Cloud mt /solr0, /solr1... , oder können beide Systeme über das Interface http://.../solr0 zugreifen?

Nach meine Learning-by-doing-Versuchen zeigt sich, dass bei einer solr-Cloud die Datenbank zwischen http://.../solr0 von der mit Zugriff über http://...solr1 unterscheidet. Demnach müsste alle Systeme, die die gleiche solr-Datenbank nutzen über (z.B.) http://.../solr0 zugreifen. Oder ?

Viele Grüße
Frank
fherb
 
Beiträge: 111
Registriert: Di Nov 26, 2013 10:02 am
Wohnort: Dresden (Germany)

Re: solr-Cloud

Beitragvon fherb » So Apr 05, 2015 12:49 am

Also, meinen Versuchen nach, müssen sich das Crawling-Yacy und das Yacy, was rund um die Uhr als Such-Interface zu freeworld.unit arbeitet auf das gleiche Interface, z.B. .../solr0 verbinden. Wozu ist dann die cloud sinnvoll?
fherb
 
Beiträge: 111
Registriert: Di Nov 26, 2013 10:02 am
Wohnort: Dresden (Germany)

Re: solr-Cloud

Beitragvon fherb » Mi Apr 08, 2015 12:55 am

Seit einigen Tagen läuft nun die Cloud. Die erste Annahme war falsch: Es dauert manchmal einige Zeit, bis die richtigen Werte im Status zu finden sind. Die einzelnen YaCy liegen jetzt auf den Ports solr0, solr1, ... Dann funktioniert es.

Wie ich gesehen habe, scheint in freeworld niemand solch eine Konfiguration zu fahren.

Für YaCy auf Low-Power-Plattformen scheint das aber eine Lösung zu sein: Solr gehört auf ein leistungsfähigeres System als Yacy. Mit so einer Zweiteilung verhakt sich YaCy nicht.

Ich hab in den letzten 2 1/2 Jahren YaCy mehrfach auf Low-Power-Plattformen getestet (RasPi, RasPi2, CubieTruck, virtuelle Maschienen auf Intel mit eingeschränkter Zuweisung auf den Prozessor: Weniger Kerne, geringere Leistung).

  • YaCy (ohne das eingebettete Solr), läuft auch auf schwachen Systemen absolut stabil.
  • YaCy mit eingebettetem Solr hat nicht nur auf Low-Power-Systemen ein Problem: Es wird über die Weboberfläche unbedienbar, benötigt für ein shut-down Stunden, verschleißt Prozessorlast in Größenordnungen, wenn Solr nicht hinterher kommt. Bei dem eingebettetem Solr hat man keine Chancen. Aus dem Grund habe ich jetzt Solr auf einer anderen Hardware laufen.

Der Leistungsabgleich erfolgt so, dass das Crawling in YaCy anfangs recht niedrig eingestellt wird (in der Regel weit unter 60 Pages/min). Solr auf der anderen Plattform wird beobachtet: Die Prozessorlast sollte gering sein. In den Folgetagen kann man dann das Crawling leicht erhöhen. 1 Seite pro Sekunde ist in meinem Fall ok. Ob mehr geht, probiere ich in den nächsten Tagen aus.

Das Problem mit Sol tritt immer dann auf, wenn Solr nicht hinterher kommt und YaCy Timeouts verzeichnet (wird in den Logs angezeigt). Ab diesem Zeitpunkt SCHEINT YaCy alle Solr-Zugriffe zu cachen: Der Speicher wächst, bis die Engine das Crawlen abschaltet. YaCy reagiert nicht mehr prompt. Und es dauert nur noch wenige Neustarts, bis YaCy neu aufgesetzt werden muss, weil gar nichts mehr geht. -- Das ist eine Vermutung. Ich hab mich nicht in den Quellcode von YaCy eingearbeitet. -- Eine Vermutung aus wiederholt gleichartigen Beobachtungen.

Das alles scheint nicht zu passieren, wenn solr grundsätzlich performanter als YaCy arbeitet. Deshalb die derzeitige Empfehlung, dieses Gleichgewicht über die Wahl der Hardware herzustellen.

Beste Grüße
Frank
fherb
 
Beiträge: 111
Registriert: Di Nov 26, 2013 10:02 am
Wohnort: Dresden (Germany)

Re: solr-Cloud

Beitragvon Huppi » So Apr 26, 2015 10:02 am

Danke für Deinen Erfahrungsbericht. Diese zweiteilung ging mir auch durch den Kopf.

Viele Grüße,

Volker
Huppi
 
Beiträge: 898
Registriert: Fr Jun 29, 2007 9:49 am
Wohnort: Kürten

Re: solr-Cloud

Beitragvon Cajun » Di Apr 28, 2015 12:07 pm

Ja, die Trennung Yacy-Solr trägt, nach meiner mittlerweile rund 2-jährigen Erfahrung damit, sehr signifikant zur Steigerung der Stabilität von YaCy bei !

Die Default-Einstellung von 600 MB reicht nur für den Beginn mit einer neuen YaCy Instanz, und wirkt, wie etliche Beiträge im Forum zeigen, vielfach irreführend, weil er nahe zu legen scheint, dass YaCy damit über Monate Daten sammeln, und betrieben werden, kann. Ab einer gewissen Grösse des Index lässt sich YaCy-Solr damit jedoch nicht mehr sinnvoll betreiben. Solr wird mit gösser werdendem Indizes sehr ressourcenhungrig. Ein Restart von Solr kann beispielsweise, bei bei starker Fragmentierung, und mit einem Index von mehr als 20 Mio Docs, selbst auf einer hochgetakteten E3-Maschine mit RAID-6, mehr als ein bis zwei Stunde benötigen (lession learned: beim ReStart von YaCy-Solr bzw. Solr nicht verzweifeln und geduldig warten - in der Regel muss nicht neu installiert, sondern nur geduldig gewartet werden ;-), und zudem benötigen grössere Indices deutlich mehr RAM - ein max. Speicher ('Xmx'-Parameter) von 10 - 20 GB macht im produktiven Betrieb durchaus Sinn. Der Stabilität nützt das allerdings erst dann signifikant, wenn YaCy und Solr getrennt laufen.

Eine Aufteilung auf mehrere Solr-Nodes oder Sorl-Cores (via Sor-Cloud) wird im Sinne des Gesagten (erst dann) praktisch zu einem Muss, wenn Zeiten der Nichtverfügbarkeit nicht mehr tolerierbar sind.
Wegen der wahrscheinlich bevorstehenden Änderungen durch Solr 5.X, welche u.a. keine Servlet-Server mehr benötigt, scheint es mir allerdings überlegenswert, sich zur Einrichtung einer eigenen Solr-Cloud noch etwas Zeit zu lassen, bis die YaCy-Macher auch auf die version 5.X umgestellt haben - dafür sind u.a. auch noch Schema-Änderungen nötig. Ein separater, adäquat ausgestatteter und eingestellter Solr-Server kann (unter TomCat) durchaus auch mehrere Wochen stabil durchlaufen.
Cajun
 
Beiträge: 10
Registriert: Di Nov 19, 2013 9:35 pm

Re: solr-Cloud

Beitragvon fherb » Di Apr 28, 2015 11:29 pm

Hallo!

Für die getrennte Nutzung von YaCy und Solr nutze ich derzeit immer noch die Beschreibung von http://www.yacy-websuche.de/wiki/index.php/Dev:SolrCloud

In dieser Beschreibung gibt es 2 Fehler:

1)Simpel: unter "Solr Installation" ist die Anweisung "cp slf4j-1.6.6/{jcl-over-slf4j-1.6.6.jar,slf..." falsch. Sie muss richtig heißen:

Code: Alles auswählen
cp slf4j-1.6.6/{jcl-over-slf4j-1.6.6.jar,log4j-over-slf4j-1.6.6.jar,slf4j-api-1.6.6.jar,slf4j-jdk14-1.6.6.jar} .


2) Meine Frage: Installiert soll werden solr-4.5.1 . Der aktuelle Downloadlink zu dieser Version muss anders lauten.

---> Aber: Ist die Version 4.5.1 wirklich noch sinnvoll/ideal? Cajun hat ja schon ein paar Hintergrundinfos gegeben.

Weiß jemand aus der Verfolgung der Release-Historie, welche Version für eine Solr-Cloud im Moment verwendet werden sollte? Ich denke, das muss nicht unbedingt identisch sein zu der Version, die in YaCy "deep" integriert ist. Oder doch?

Beste Grüße
Frank
Zuletzt geändert von fherb am Di Apr 28, 2015 11:58 pm, insgesamt 1-mal geändert.
fherb
 
Beiträge: 111
Registriert: Di Nov 26, 2013 10:02 am
Wohnort: Dresden (Germany)

Re: solr-Cloud

Beitragvon fherb » Di Apr 28, 2015 11:51 pm

Sorry: Doch glatt vergessen:

Ein dritter Punkt in der Installation geht auch nicht, weil er fehlt:

Die Installation von Tomcat6 per apt-get erfolgt bei mir aktuell mit einer Konfiguration, bei der per Option -Xmx für die maximale Heap-Größe 128 MByte vorgegeben ist. Das geht faktisch nicht. Hier muss man unmittelbar nach der Installation nachbessern: Datei

/etc/default/tomcat6

öffnen
und in der entsprechenden Zeile muss 128m unbedingt vergrößert werden. Man fange mit 512m an. Dann läuft es erstmal.

Und dort kann man dann auch gleich noch JAVA_HOME richtig vorgeben. Keine Ahnung, warum das Dienst-Management in der

/etc/init.d/tomcat6

unbedingt diese Umgebungsvariable benötigt. Möglicherweise ist das eine Kompatibilitätssache mit anderen Betriebssystemen, denn Linux bringt genügend Bordmittel mit, um in einem Script das zu ermitteln, ohne dass der Nutzer das auf diese Art vor gibt.

Beste Grüße!

PS: Seit über 2 Jahren warte ich auf den Tag, an dem man YaCy installiert und es einfach läuft und man mit einem vorgegebenen Speichervolumen freeworld unterstützt. Bis jetzt klappt das nicht. Zumindest bei mir. Irgendwann klemmt es und man wirft es verzweifelt weg, wenn man nicht die Zeit aufbringt, sich tiefer einzuarbeiten. Und zu experimentieren. Und auch dann wirft man die bisher angesammelte Datenbank weg, um wieder neu zu starten.
Ich weiß, dass in YaCy extrem viel Entwicklungsaufwand steckt. Aber mit einem Desktop-Prozessor der oberen Leistungskategorie sollte das System völlig ohne Wartungsaufwand auf Dauer (! nicht nur wenige Tage oder Wochen) stabil bleiben. Mich interessieren zwar die Grenzen und Konfigurationen, um auch auf Systemen geringerer Leistungskraft etwas zum Laufen zu bringen und zu halten. Aber dass man selbst mit aktueller Desktop-Standardtechnik Probleme bekommt, finde ich ärgerlich. Solr von YaCy getrennt zu betreiben mag eine Lösung sein. Aber warum muss man das durch Experimentieren über längere Zeit hinaus erforschen? Mit der gesammelten Erfahrung erscheint mir die langfristige stabile Nutzung durch Otto Normalverbraucher leider immer noch nicht möglich.
Gibt es andere Erfahrungen?
fherb
 
Beiträge: 111
Registriert: Di Nov 26, 2013 10:02 am
Wohnort: Dresden (Germany)

Re: solr-Cloud

Beitragvon Huppi » Sa Mai 02, 2015 9:08 pm

Das PS. erläutert einen Grund, weshalb YaCy der große Durchbruch verwehrt geblieben ist. Bei mir soll YaCy unbemerkt auf einem Pentium 4 Rechner nebenbei stabil laufen. Das geht faktisch leider nicht. Basteln ist immer mal wieder notwendig ...
Huppi
 
Beiträge: 898
Registriert: Fr Jun 29, 2007 9:49 am
Wohnort: Kürten


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste