12 Stimmen

Wie kann man einen Keyspace als Dump in Cassandra sichern?

Ich muss einen Keyspace vom Server als Dump nehmen und diesen Dump in meinem lokalen Cassandra wiederherstellen, ich weiß, wie es bei MySQL funktioniert, aber wie geht es bei NoSQL? Ich habe auf einer Website gelernt, dass dies mit nodetool, Snapshot und dem CSV-Dateiformat möglich ist, aber ich habe es nicht verstanden?

12voto

emgsilva Punkte 3017

Sie können dies mit "nodetool" tun. Für eine gute Referenzdokumentation schauen Sie hier: http://www.datastax.com/docs/1.1/backup_restore

Im Groben müssen Sie die folgenden Schritte ausführen:

  1. Erstellen Sie einen "Snapshot" des Keyspaces mit: nodetool snapshot . Dies wird auf dem Server ausgeführt, auf dem Sie den "Snapshot" generieren möchten. Es wird dies tun, einen "Snapshot" für jede Tabelle des Keyspaces speichern.
  2. Kopieren Sie die "Snapshots" auf Ihren lokalen Server. Tun Sie dies für jede Keyspace-Tabelle: /data///snapshots/ (Suchen Sie nach dem zuletzt erstellten "Snapshot" - wenn Sie den "Snapshot" erstellen, wird Ihnen der "Name"/"ID" des erstellten "Snapshots" angezeigt).
  3. Auf Ihrem lokalen Server, bevor Sie die "Server"-Snapshots platzieren, führen Sie folgendes aus: Stoppen Sie Cassandra, löschen Sie den Inhalt dieses Keyspace (wieder für jede Keyspace-Tabelle: /data///) und platzieren Sie dann die "Server"-Snapshots in jeder entsprechenden "Keyspace-Tabelle" (direkt im /data/// und nicht im "Snapshot"-Verzeichnis).
  4. Starten Sie den lokalen Server neu, und Sie sollten die Daten vom Server auf Ihrem lokalen Server haben.

Ich hoffe, das hilft.

0voto

Deepu--Java Punkte 3672

Um dies per Schnappschuss zu machen ..

Befehl zum Erstellen des Schnappschusses -

<-Pfad zum Bin-Ordner von Cassandra> nodetool -h <-Server-Host-Name/IP> -p <-Server-Port> snapshot

Dies erstellt ein SNAPSHOT-Verzeichnis im VAR-Ordner, und dieses Verzeichnis enthält den Schnappschuss

der aktuellen Datenbank des Servers, den Sie als Dump für Ihren lokalen Server verwenden können.

0voto

Andre Lewis Punkte 416

Während nodetool der bevorzugte Weg ist, wenn Sie jedoch keinen direkten Zugriff auf die zugrunde liegende Dateistruktur haben, würde ich empfehlen, etwas Ähnliches wie zu verwenden: cassandradump

$ python cassandradump.py --keyspace system --export-file dump.cql
Exportiere Schema für den keyspace system
Exportiere Schema für die Spaltenfamilie system.peers
Exportiere Daten für die Spaltenfamilie system.peers
Exportiere Schema für die Spaltenfamilie system.range_xfers
Exportiere Daten für die Spaltenfamilie system.range_xfers
Exportiere Schema für die Spaltenfamilie system.schema_columns
Exportiere Daten für die Spaltenfamilie system.schema_columns
...

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