2016-06-15 14 views
4

Ich habe einen Cassandra-Produktionsknoten und möchte dieselbe Cassandra in meinem lokalen Rechner erstellen. Gemäß meinem Verständnis kann ichCassandra Daten zu einem anderen neuen Cassandra-Knoten verschieben -

1. Taking snapshot of each keyspace from production and use it in local machine.(But It would take more time as I have many keyspace). 
2. Exporting production cassandra data to as CSV and importing in to local cassandra(I have COUNTER TABLE. Hence,It also creating some headache - Correct me if it is not). 

Meine Frage ist folgende Option entscheiden „Was passiert, wenn ich ganze data_directory, Commit_log Ordner von der Produktion zu lokalen bewegen und lokalen cassandra starten?“. Ist das überhaupt möglich?

Wenn ich die obige Lösung tat, wirft Cassandra viele Fehler.

Bitte helfen Sie herauszufinden, schnelle und kurze Lösung.

Dank

Antwort

2

Wenn Sie nur Ihren Produktionsknoten auf einem lokalen Computer neu erstellen möchten, müssen Sie lediglich alles kopieren (unter der Annahme, dass die Hardware ähnlich ist).

Von Produktion:

  • Flush die Daten von memtables auf die Festplatte.
  • Run nodetool Snapshot und erhalten Snapshots für alle Ihre ColumnFamilies/KeySpaces
  • Achten Sie darauf, die CQL Skripte, die Ihre ColumnFamilies erstellt/Keyspaces
  • Kopieren Sie die Konfigurationsdateien, commitlogs, saved_cache, Protokolle, Datenverzeichnisse

auf dem lokalen Rechner (unter der Annahme, frische Installation)

  • Cassandra Install (Stellen sie sicher, es ist die gleiche Version ist wie Produktion)
  • Recreate ColumnFamilies/Keyspaces die Skripte verwenden Sie von der Produktion kopiert
  • Kopieren über Konfigurationsdateien/bearbeiten Sie Ihre Konfigurationsdateien/saved_cache, Protokolle, Datenverzeichnisse
  • Platz Schnappschüsse in den richtigen Verzeichnisse
    • möglicherweise so etwas wie <data_dir>/<keyspace>/<columnfamily>/
  • Cassandra Start up

Hinweis: Diese Checklisten sind nicht vollständig

Das Ausführen von nodetool repair ist in diesem Fall keine schlechte Idee.Angenommen, Sie möchten nur den Produktionsknoten auf einer lokalen Maschine neu erstellen (wie in der Frage angegeben), dann könnte dies problematisch sein, da der Snapshot die aktuellen Daten hätte. Auch die Ausführung von nodetool cleanup würde nicht schaden, wenn die Reparatur als notwendig erachtet wurde.

Beantwortung Ihrer Frage:

Wenn Sie nur das Datenverzeichnis und commitlogs von der Produktion auf dem lokalen Computer kopieren wird nicht wirklich funktionieren, wie Sie die keyspaces und Spalte Familien neu erstellen, müssen die Daten zu setzen. Wenn du das getan hast, dann ist etwas anderes am Werk. Um die Daten von einer Cassandra-Umgebung zur nächsten zu bringen, sind die Konfigurationsdateien, das Datenverzeichnis (Commitlogs, Daten, Saved_Cache usw.) und die Schemaskripts die wichtigsten. Von dort können Sie wahrscheinlich Probleme debuggen. Eine Neuinstallation (oder Neuabbildung der aktuellen data/commitlog/etc-Verzeichnisse zu neuen Verzeichnissen, dh new_data, new_commitlog, new_saved_cache) könnte der einfachste Weg sein, um die Aufgabe zu erfüllen.

+0

Hallo .... das ist wirklich nett ... Ich habe bestätigt, dass Ihre Richtung erfolgreich ist und ich meine lokale Maschine als eine Kopie des Produktionsservers gemacht habe. Ich glaube, Ihr Vorschlag hilft sicherlich auch anderen. –

+0

Hallo! Ich bin froh, dass es geholfen hat. Viel Spaß mit Cassandra! –

0

Wenn Sie einen Knoten haben, können Sie die/Daten/saved_caches und/commitlog Ordner auf Ihrem lokalen machine.You müssen die gleiche Version von cassandra kopieren. Aber zuerst müssen Sie Ihre Schemas aus der Produktion exportieren und auf Ihren lokalen Rechner importieren. Dann stoppe lokale Cassandra, lösche alle Inhalte des lokalen/commitlog-Ordners, kopiere Daten von prod in local - die Ordnernamen in/data werden wahrscheinlich anders sein, weil neuere Versionen von c * eine UUID an die Tabellenname-Ordner anhängen. aber es wird funktionieren. Möglicherweise müssen Sie danach nodetool repair ausführen.

+0

Danke für Ihre Eingaben und es gibt mir ein paar Einblicke. –

Verwandte Themen