5 Stimmen

Backupstrategie mit Master-Slave Solr 3.6 Servern

Wir verwenden solr 3.6 Replikation mit 2 Servern - einem Master und einem Slave - und wir suchen derzeit nach dem Weg, saubere Backups zu erstellen.

Wie im Wiki erwähnt, können wir einen HTTP-Befehl verwenden, um einen Snapshot des Master wie folgt zu erstellen: http://myMasterHost/solr/replication?command=backup

Aber wir haben noch einige Fragen:

  • Was ist der Vorteil des backup-Befehls im Vergleich zu einem klassischen Shell-Skript, das die Indexdateien kopiert?

  • Der Befehl sichert nur die Indexe; ist es möglich, auch den spellchecker-Ordner zu kopieren? Ist das erforderlich?

  • Können wir den Snapshot erstellen, während die Anwendung läuft, also während potenzielle Indexupdates stattfinden?

  • Wenn wir die Server aus dem Backup wiederherstellen müssen, was müssen wir auf dem Slave tun?

    • den Snapshot einfach in seinen Indexordner kopieren und die replication.properties-Datei entfernen (oder nicht)?
    • einen fetchindex über den HTTP-Befehl http://mySlave/solr/replication?command=fetchindex anfordern?
    • den Indexordner des Slaves einfach leeren, um eine vollständige Replikation vom Master zu erzwingen?

3voto

javanna Punkte 56936

Sie können das backup -Befehl verwenden, der vom ReplicationHandler bereitgestellt wird. Es handelt sich um einen asynchronen Vorgang und dauert, wenn Ihr Index groß ist. Auf diese Weise müssen Sie Solr nicht herunterfahren. Dann finden Sie im Indexverzeichnis ein neues Verzeichnis mit dem Namen backup.yyyymmddHHMMSS mit dem Sicherungsdatum. Sie können auch konfigurieren, wie viele alte Sicherungen Sie behalten möchten.

Danach ist es natürlich besser, wenn Sie die Sicherung an einen sicheren Ort verschieben, wahrscheinlich auf einen anderen Server.

Ich glaube nicht, dass es möglich ist, den Spellchecker zu sichern, bin mir jedoch nicht ganz sicher.

Natürlich soll der Befehl ausgeführt werden, während die Anwendung läuft. Das einzige Problem ist, dass Sie wahrscheinlich die Dokumente, die Sie nach dem Start des Backups committed haben, in der Sicherung verlieren.

Sie können auch das Lucene CheckIndex-Tool überprüfen. Nachdem Sie den Index gesichert haben, können Sie überprüfen, ob der Index in Ordnung ist.

Ich würde die Backups persönlich nicht verwenden, um den Index auf den Slaves wiederherzustellen, wenn Sie bereits einen guten Index auf dem Master haben. Die Kopie des Index erfolgt automatisch über den Standard-Replikationsprozess (es handelt sich wirklich um eine Kopie der Indexsegmente), Sie müssen sie nicht manuell kopieren, es sei denn, die Sicherung enthält bessere Daten als der Master.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X