Index verteilen

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.

Index verteilen

Beitragvon Choey » Do Apr 02, 2009 12:28 pm

VIeleicht stelle ich mich ja blöd an, aber ich hab schon wieder eine Frage.
Ich könnte meinen "normaler" Rechner während ich nicht zuhause bin zum Crawlen etc. einsetzen. Das Ding hat 8 GB Ram und einen Quadcore-Prozessor, wäre also ganz gut geeignet. Allerdings hat der eine Verfügbarkeit, die nicht über 50% liegt, im gegensatz zu meinem jetzigen YaCy Rechner, der eigentlich, sobald er noch ein Gehäuse hat, dann fertig ist und 24/7 vor sich hinsurrt.
Kann ich meinen Hauptrechner irgend wie zum Crawlen verwenden, die ergebnisse aber in die Datenbank des anderen Systems schreiben? (oder zweimal YaCy im selben verzeichniss verwenden, ohne das inkonsistenzen in der DB auftreten) Netzwerklast wäre in dem fall nicht das Problem (siehe viewtopic.php?f=5&t=1939) da ich das netzwerk nicht so sehr brauche, wenn ich nicht da bin. Ausserdem wird die CPU von meinem Hauptsystem und dem YaCy System durch die Netzwerklast beansprucht, und nicht die von meiner kleinen NAS.
Choey
 
Beiträge: 30
Registriert: Di Mär 24, 2009 8:58 pm

Re: Index verteilen

Beitragvon Orbiter » Do Apr 02, 2009 12:42 pm

mit der gerade frischen IndexCell Datenstruktur wäre das blockartige verschieben einer großen Indexmenge relativ einfach möglich. Noch nicht. Da dieser Anwendungsfall hier immer wieder angesprochen wird, schaue ich mal dass ich dafür mal bald eine Automatisierung baue. Ganz kurzfristig ginge eine Variante, bei der du dir ein Skript mit scp-Kommandos baust, um die Files einfach von einem Rechner auf den anderen zu verschieben. Eine genaue Anleitung liefere ich nach wenn alles dafür bereit ist.
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Index verteilen

Beitragvon Choey » Do Apr 02, 2009 12:59 pm

Derzeit laufen beide Systeme auf Win, eine umstellung des YaCy rechners auf Linux ist geplant, mein Hauptsystem bleibt aber Windows.
Allerdings dürfte es kaum ein Problem darstellen, über SMB die Daten zu ziehen bzw. die Daten gleich auf den YaCy rechner zu legen. (letzteres wäre die bessere Variante, da mein hauptsystem möglichst schnell 100% verfügbar sein müsste, wenn ich es brauche)
Von daher müssten "nur" regelmäßig die beiden Datenbanken zusammengeführt werden. Wenn ich weiß, wie das geht, brauche ich einfach nur noch eine entsprechende Zeile in der Crontab. (Ich hoffe, das ist so einfach, wie ich mir das vorstelle.)
Choey
 
Beiträge: 30
Registriert: Di Mär 24, 2009 8:58 pm

Re: Index verteilen

Beitragvon Orbiter » Do Apr 02, 2009 1:11 pm

es wird so einfach sein, das einzige was momentan dagegen spricht ist das Naming der Index und URL-Dateien, die müssen so beschaffen sein dass sie sich unterscheiden. Das haut bei den RICELL/-Dateien hin, nicht aber bei den METADATA/-Dateien. Bin dran.
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Index verteilen

Beitragvon Choey » Do Apr 02, 2009 1:14 pm

Supi :D
Choey
 
Beiträge: 30
Registriert: Di Mär 24, 2009 8:58 pm

Re: Index verteilen

Beitragvon Orbiter » Do Apr 02, 2009 11:21 pm

mit svn 5773 werden nun die index - dateien und die url-Dateien mit einm gemeinsamen Schema abgespeichert, dass es erlaubt die Dateien zweier Peers einfach zusammen zu kopieren. Dazu machst du folgendes:
die Dateien aus DATA/INDEX/freeworld/TEXT/RICELL/* kopierst du von einem Peer in den anderen in das gleiche Verzeichnis, und ebenso DATA/INDEX/freeworld/TEXT/METADATA/*
aber erst nachdem SVN 5773 auf beiden Peers gelaufen ist!

Jetzt kommt noch ein gewisses Problem: dadurch dass du die URL-dateien wegkopierst, sind sie für den Double-Check nicht mehr verfügbar. D.h. du generierst bei weiteren Crawls möglicherweise doppelte URLs. Das schadet erst mal nicht, ist aber unschön. Hier wird also noch ein Merge-Prozess für die urls gebraucht, aber gehen sollte es schon mal so.
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Index verteilen

Beitragvon Choey » Mo Apr 06, 2009 8:16 am

Ich kam am WE leider nicht zum Testen, werde mich diese woche mal dran machen.
Jetzt kommt noch ein gewisses Problem: dadurch dass du die URL-dateien wegkopierst, sind sie für den Double-Check nicht mehr verfügbar. D.h. du generierst bei weiteren Crawls möglicherweise doppelte URLs. Das schadet erst mal nicht, ist aber unschön. Hier wird also noch ein Merge-Prozess für die urls gebraucht, aber gehen sollte es schon mal so.

würde es auch funktionieren, zwei Systeme in einem Verzeichniss arbeiten zu lassen? Dann hätte man das Problem der doppelten URLs nicht. Oder erzeugt das inkonsistenzen in der DB?
Des weiteren tritt das Problem ja nur auf, wenn ich die dateien verschiebe, wenn ich sie kopiere, bekomme ich zwar den doppelten SPeicherplatzbedarf, aber das Problem dürfte auch nicht auftreten, wenn ich das richtig verstehe.
Choey
 
Beiträge: 30
Registriert: Di Mär 24, 2009 8:58 pm

Re: Index verteilen

Beitragvon Orbiter » Mo Apr 06, 2009 5:06 pm

Choey hat geschrieben:würde es auch funktionieren, zwei Systeme in einem Verzeichniss arbeiten zu lassen? Dann hätte man das Problem der doppelten URLs nicht. Oder erzeugt das inkonsistenzen in der DB?

so wie es ist geht das nicht, das würde sicherlich irgendwo knallen. Aber das bringt mich auf die Idee, dass man BLOBs als read-only kennzeichnen könnte, um diese dann doch wie du schreibst simultan zugreifen zu können. Das muss aber ganz in die Filelogik rein. Ich denke da mal drüber nach.
Choey hat geschrieben:Des weiteren tritt das Problem ja nur auf, wenn ich die dateien verschiebe, wenn ich sie kopiere, bekomme ich zwar den doppelten SPeicherplatzbedarf, aber das Problem dürfte auch nicht auftreten, wenn ich das richtig verstehe.

Wenn du sie nur kopierst ist das ok. müsste klappen und doubletten vermeiden.
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Index verteilen

Beitragvon dulcedo » Fr Mai 29, 2009 8:04 am

Orbiter hat geschrieben:mit svn 5773 werden nun die index - dateien und die url-Dateien mit einm gemeinsamen Schema abgespeichert, dass es erlaubt die Dateien zweier Peers einfach zusammen zu kopieren. Dazu machst du folgendes:
die Dateien aus DATA/INDEX/freeworld/TEXT/RICELL/* kopierst du von einem Peer in den anderen in das gleiche Verzeichnis, und ebenso DATA/INDEX/freeworld/TEXT/METADATA/*
aber erst nachdem SVN 5773 auf beiden Peers gelaufen ist!

Jetzt kommt noch ein gewisses Problem: dadurch dass du die URL-dateien wegkopierst, sind sie für den Double-Check nicht mehr verfügbar. D.h. du generierst bei weiteren Crawls möglicherweise doppelte URLs. Das schadet erst mal nicht, ist aber unschön. Hier wird also noch ein Merge-Prozess für die urls gebraucht, aber gehen sollte es schon mal so.


Ist das Problem inzwischen beseitigt? Ich will versuchen einen mittelgrossen Peer mit einem sehr grossen zusammenzulegen, Backups habe ich natürlich aber würde trotzdem gerne wissen wie empfehlenswert die Aktion ist. Doppelte URLs fallen ja nicht unbedingt auf und werden dann als Müll mitgeschleppt.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Index verteilen

Beitragvon Orbiter » Fr Mai 29, 2009 8:30 am

den merge-Prozess gibts noch nicht, und da ist momentan auch keine Zeit für (Navigatoren und Forum/Wiki Content Integration geht vor). Ich plane die Speicherung der urls als BLOBs, da wird dann ggf. ein Merge im Kontext einer Migration entstehen. Macht aber auch nichts wie du schon schreibst, dann sind das erst mal doppelte.
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Index verteilen

Beitragvon dulcedo » Fr Mai 29, 2009 12:49 pm

Sieht sehr gut aus, die Performance geht sogar beim mergen nur unmerklich zurück, 2-300ppm schafft er momentan. Bei 70mioURLs und 35mio Wörtern, er merged aber noch, das wird das spannende wieviele Wörter übrig bleiben. 5GB habe ich ihm gegeben, die braucht er wohl auch, zumindest beim mergen gerade.
30 Mio URLs könnte ich noch aufnehmen dann wären es 100mio, wenn jemand einen einigermassen gepflegten Peer offline hat könnte man das ausprobieren. Themenschwerpunkte sind Medien, aktuelle Nachrichten und die unvermeidliche IT.
Bluumi?
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Index verteilen

Beitragvon bluumi » Fr Mai 29, 2009 11:38 pm

dulcedo hat geschrieben: Peer offline hat. Bluumi?

Nun, mein Peer ist nicht offline :) - Aber wenn Du einen meiner kleinen aufnehmen willst, kann ich Dir KSBA-250 oder KSBA-253 "geben". Nur wüsste ich nicht wie ich Dir diese übermittle :-)
Aktuell fehlt es mir jedoch am Meisten an guten Crawl's und so laufen diese auf RemoteCrawls, und deren Qualität lässt "zu wünschen übrig".
Zudem habe ich momentan keine Zeit für diese zwei zu betreuen, zum Glück läuft Yacy inzwischen auch ohne Tagwache. ;)
bluumi
 
Beiträge: 388
Registriert: Mi Okt 08, 2008 7:27 am

Re: Index verteilen

Beitragvon dulcedo » Sa Mai 30, 2009 3:54 am

Nein das wäre Unsinn, ich dachte du hast einen der nicht online gehen kann. Ich züchte mir lieber selbst einen indem ich kein DHT-in zulasse und Bereiche crawle die ich selbst noch nicht habe crawlen lassen. Damit kann ich wohl einigermassen sicherstellen keine Duplikate zu erzeugen und man könnte diese Methode auch zum zuarbeiten nutzen.

Transfer: FTP würde gehen, habe ich schon unter Peers gemacht, man muss ja nicht danebensitzen.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Index verteilen

Beitragvon dulcedo » Sa Mai 30, 2009 6:28 am

bluumi hat geschrieben:Zudem habe ich momentan keine Zeit für diese zwei zu betreuen, zum Glück läuft Yacy inzwischen auch ohne Tagwache. ;)


@Orbiter: Anfang des Jahres hattest du mich gefragt ob ich YaCy auch in grösserem Rahmen für einsatztauglich halte, habe damals ohne lang zu zögern ja gesagt und korrigiere das jetzt in soweit dass das auf dedizierten Systemen defintiv so ist. Inzwischen auch für Leute die nicht jeden Tag mit der Materie zu tun haben. Sprich man kann so ein Gerät nach Infrastruktur beliebig plaziern. Das geht genauso wie mit jeder anderen halbwegs ausgereiften Software auch, halbwegs weil ich keine kenne die ausgereift ist. Der grosse Linuxpeer den ich betreibe kommt absolut problemlos mit seinen 70mio Links zurecht, das könnte sogar noch mit 4GB physikalisch gehen, ohne crawling. Ich kann jetzt auch deinen Spass nachvollziehen ihm Surrgate vorzusetzen, ich habe bei der Erweiterung gestern wirklich nur beim mergen einen kurzen Performanceeinbruch erlebt, danach mit 20mio mehr wie vorher auch, erstaunlich. Ich denke mit 8GB kann man bis 150 vielleicht auch 200mio gehen.

Was noch nicht funktioniert ist gerade unter Windows YaCy zuverlässig im Hintergrund zu halten. Ich rede jetzt nicht von Ressourcen die fehlen sonder nur die Unmerklichkeit. Es wäre prima wenn man ein Windows-YaCy bauen (konfigureren) könnte das eine Betriebsart ermöglicht die wirklich nur die freien Ressourcen nutzt. Zu Anfang in dem man sie manuell begrenzt, irgendwann idealerweise automatisch.
Dann hätte man mehr Leute die es einfach so installieren, nicht unbedingt dann einen Peer betreiben der auch der DHT nutzt, aber die YaCy kennenlernen, sich daran gewöhnen. Später gibt man auch irgendwann ein paar Euro aus und beschafft sich eine dedizierte Machine, spielt ein Linux drauf das YaCy schon mitinstalliert andere Anwendungsbebiete dafür gibt es Zuhause genung. Nächster Schritt sind dann die NAS und MedienTerminals/Server die nun wirklich soweit sind ein 2 oder sogar 4GB-Linux laufen zu lassen.
Was definitiv noch nicht geht ist der OLPC, das hat itGrl gerade versucht, auf dem wäre das natürlich eine ganz feine Sache, ich denke da hapert es hauptsächlich am RAM. Momentan verwenden die Mesh für ihre Netzversuche, eigentlich wäre das ein perfektes Gebiet für YaCy.

Wie kann man sowas erreichen? Die brutale Methode: fehlt Kapazität wird gelöscht bis wieder genug vorhanden, diese Daten sind dann verloren, das wäre der selbe Effekt wie den Peer stillzulegen, dafür ist es eine DHT, sollte nicht stören. Die Frage ist: Schadet das dem Netz oder nützt es ihm nur nicht? Wenn es nicht schadet wäre das doch eine Möglichkeit für so ein "SchnupperYaCy"? Man kann diese Löschung ja sicher auch ein bischen intelligent gestalten.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe


Zurück zu Fragen und Antworten

Wer ist online?

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