View a markdown version of this page

Migration von früheren Versionen HBase - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Migration von früheren Versionen HBase

Informationen zur Migration von Daten aus einer früheren HBase Version finden Sie unter Upgrade, HBase Versionsnummer und Kompatibilität im Apache HBase Reference Guide. Möglicherweise müssen Sie den Anforderungen für ein Upgrade von Versionen vor 1.0 besondere Aufmerksamkeit schenken. HBase

Migration zu Amazon EMR Version 7.4.0 oder höher

Anmerkung

Beachten Sie diese Richtlinien, wenn Sie von einer EMR-Version vor 7.4.0 zu einer Version höher als 7.3.0 migrieren.

Wenn Sie derzeit eine EMR-Version mit aktivierter Funktion Store File Tracking von Amazon verwenden, die in den Versionen 6.2.0 bis 7.3.0 enthalten ist, und Sie auf eine Version mit OSS Store File Tracking aktualisieren möchten, die für EMR-Versionen nach 7.3.0 verfügbar ist, gehen Sie wie folgt vor:

  1. Im vorhandenen Cluster:

    1. Deaktivieren Sie die hbase:storefile Tabelle.

    2. Lass den hbase:storefile Tisch fallen.

    3. Spülenhbase:meta.

    4. Warten Sie, bis die Metadaten aktualisiert sind.

  2. Im neuen Cluster:

    1. Legen Sie dasselbe Amazon S3 S3-Verzeichnis wie das Stammverzeichnis fest.

    2. Starten Sie den Cluster mit der DefaultStoreFileTracker Implementierung:

      { "Classification": "hbase-site", "Properties": { hbase.store.file-tracker.impl: "org.apache.hadoop.hbase.regionserver.storefiletracker.DefaultStoreFileTracker" } }
    3. Verwenden Sie auf der Ebene der Tabellen- oder Spaltenfamilie die folgenden Befehle, um den Speicherdatei-Tracker zu ändern:

      1. Ändern Sie den Store File Tracker der Tabelle oder der Tabellenspaltenfamilie:

        hbase> change_sft 't1','FILE' hbase> change_sft 't2','cf1','FILE'
      2. Ändert den gesamten Store File Tracker der Tabelle, der dem angegebenen regulären Ausdruck (Regex) entspricht:

        hbase> change_sft_all 't.*','FILE' hbase> change_sft_all 'ns:.*','FILE' hbase> change_sft_all 'ns:t.*','FILE'

Migration von Amazon S3 S3-Clustern HBase auf Amazon EMR Version 7.12.0 oder höher mithilfe von Read-Replica-Clustern

Ab EMR 7.12.0 können Sie eine Read-Replica HBase auf einem Amazon S3 S3-Cluster vom schreibgeschützten Modus in den aktiven Modus umschalten, wodurch sowohl Lese- als auch Schreibvorgänge aktiviert werden. Diese Funktionalität wird durch zwei neue Shell-Befehle bereitgestellt. HBase

  1. readonly_state

    Ruft den aktuellen Lese- und Schreibbetriebsstatus des Clusters ab.

    Ausgabe:

    • INAKTIV — Der Cluster befindet sich im Nur-Lese-Modus und der Schreibmodus ist inaktiv.

    • AKTIV — Der Cluster unterstützt sowohl Lese- als auch Schreibvorgänge.

  2. readonly_switch

    Aktiviert oder deaktiviert den Nur-Lese-Modus mit konfigurierbaren Optionen für den Switching-Vorgang.

    Syntax:

    readonly_switch <readonly>,<force_flush>,<force_refresh_meta>,<force_refresh_hfile>

    Parameter:

    • readonly (erforderlich) — Boolescher Wert, um den Nur-Lese-Modus zu aktivieren (true) oder zu deaktivieren (false)

    • force_flush (optional) — Erzwingt das Leeren der Daten, bevor vom aktiven in den schreibgeschützten Modus gewechselt wird (Standard: true)

    • force_refresh_meta (optional) — Erzwingt die Aktualisierung der Metatabelle beim Wechsel vom schreibgeschützten in den aktiven Modus (Standard: true)

    • force_refresh_hfile (optional) — Erzwingt eine HFile Aktualisierung beim Wechsel vom schreibgeschützten in den aktiven Modus (Standard: true)

Migrationsschritte

Wenn Sie derzeit einen EMR 6.0.0+ HBase auf einem Amazon S3 S3-Cluster ausführen und zu einem Cluster mit EMR 7.12.0 oder höher migrieren möchten, gehen Sie wie folgt vor:

  1. Stellen Sie mithilfe des HBCK-Berichts oder blockierter Prozeduren auf der Master-Benutzeroberfläche sicher, dass sich Ihr Quell-Cluster in einem stabilen Zustand ohne Inkonsistenzen befindet. HBase

    sudo -u hbase hbase hbck > hbck_report.txt
  2. Stellen Sie sicher, dass sich auf dem Quellcluster keine Regionen im SPLIT-Status befinden:

    1. Wenn sich Regionen im SPLIT-Status befinden, führen Sie größere Komprimierungen für die entsprechenden Tabellen durch und warten Sie, bis diese abgeschlossen sind

      major_compact <table_name>
    2. Führen Sie es catalogjanitor_run in der HBase Shell aus, nachdem die Komprimierung abgeschlossen ist

  3. Erstellen Sie einen neuen EMR 7.12.0+ Cluster, der als Read-Replica konfiguriert ist und auf denselben Amazon S3 S3-Standort wie Ihr Quell-Cluster verweist. In diesem Blog finden Sie weitere Informationen zur Einrichtung eines Read Replica-Clusters. Starten Sie den neuen Cluster mit der in den obigen Schritten genannten DefaultStoreFileTracker Konfiguration, wenn Sie ein Upgrade auf das OSS Store-Datei-Tracking durchführen möchten.

  4. Warten Sie, bis der Master-Knoten vollständig initialisiert ist. Überprüfen Sie den Datenzugriff, indem Sie die Tabellen lesen und sicherstellen, dass sich der neue Cluster im schreibgeschützten Modus befindet

    hbase:001:0> readonly_state Took 0.4612 seconds => "INACTIVE"
  5. Deaktivieren Sie den Ausgleich und die Komprimierung auf dem Quell-Cluster:

    echo "balance_switch false" | hbase shell echo "compaction_switch false" | hbase shell
  6. Stellen Sie sicher, dass sie in der Benutzeroberfläche des Read-Replica-Clusters nicht overlaps/inconsistencies angezeigt werden, und stellen Sie sicher, dass die Regionen den Status OPEN haben und dass sie ordnungsgemäß zugewiesen sind.

  7. Konvertieren Sie das Store-Datei-Tracking mithilfe der Befehle auf dem Read-Replica-Cluster, die im obigen Abschnitt erwähnt wurden, wenn Sie zu wechseln möchten. FileBasedTracker

  8. Beenden Sie die Jobs, die auf den Quellcluster verweisen, leeren Sie alle Tabellen und fahren Sie den Quellcluster herunter. Warten Sie, bis der Vorgang abgeschlossen ist, bevor Sie fortfahren.

    echo "flush 'usertable'" | hbase shell echo "flush 'hbase:meta'" | hbase shell echo "flush 'hbase:namespace'" | hbase shell
  9. Schalten Sie den Read-Replica-Cluster in den aktiven Modus, um Schreibvorgänge zu aktivieren. Nach Abschluss dieses Schritts unterstützt Ihr neuer Cluster sowohl Lese- als auch Schreibvorgänge, und die Migration ist abgeschlossen.

    hbase:010:0> readonly_switch false Took 38.1568 seconds
  10. Überprüfen Sie die Schreibvorgänge auf dem neuen Cluster und stellen Sie sicher, dass alle Regionen Anfragen bearbeiten.

Anmerkung

Es kann zu einem beliebigen Zeitpunkt nur einen aktiven Cluster geben, der auf einen Amazon S3 S3-Standort verweist. Daher sollte das Umschalten der Read-Replica auf Active erst erfolgen, nachdem der Quell-Cluster beendet wurde.