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?
Antworten
Zu viele Anzeigen?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:
- 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. - 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). - 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). - Starten Sie den lokalen Server neu, und Sie sollten die Daten vom Server auf Ihrem lokalen Server haben.
Ich hoffe, das hilft.
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.
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
...