Solr Inkrementelle backup auf ein Echtzeit-system mit heavy-index
Ich umsetzen Suchmaschine mit solr, die den import von minimal 2 Millionen, doc pro Tag.
Benutzer müssen können Sie die Suche auf importierte doc so schnell wie möglich (in Echtzeit).
Habe ich mit 2 dedizierten Windows x64 mit tomcat 6 (Solr Splitter-Modus). jeder server, index über 120 Millionen doc und etwa 220 GB (insgesamt 500 GB).
Möchte ich, um backup inkrementelle aus dem solr-index-Datei während der Aktualisierung oder Suche.
nach dem es suchen, finden rsync-tools für UNIX und DeltaCopy für windows - (GUI-rsync für windows). aber bekomme Fehler (verschwundenen) während der Aktualisierung.
wie dieses problem zu lösen.
Anmerkung 1:Dateien kopieren sehr langsam, wenn die Dateigröße sehr groß. daher kann ich nicht verwenden, auf diese Weise.
Note2: Kann ich verhindern, dass beschädigte index-Dateien während der Aktualisierung, wenn die windows-Abstürzen oder hardware-reset oder ein anderes problem ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht laufen ein backup während der Aktualisierung des index. Sie wird wohl korrupt (daher unbrauchbar) backup.
Einige Ideen, das zu umgehen:
Nehmen Sie ein hot backup (d.h. beim schreiben auf den index) mit dem ReplicationHandler kopieren Solr ' s Daten-Verzeichnis an anderer Stelle auf dem lokalen system. Dann tun Sie, was Sie wie mit das Verzeichnis. Starten Sie die Sicherung, Wann immer Sie wollen, indem Sie zu einer URL wie dieser:
Natürlich könnten Sie-Skript, das mit wget+cron.
Mehr details finden Sie hier:
http://wiki.apache.org/solr/SolrReplication
Den Lucene in Action Buch hat einen Abschnitt auf hot-backups mit Lucene, und es scheint mir, dass der code in Solr ist ReplicationHandler verwendet die gleiche Strategie wie beschrieben dort. Einer der Buch-Autoren selbst erarbeitet, wie es funktioniert in ein weiterer StackOverflow-Antwort.