View a markdown version of this page

Migrazione da versioni HBase precedenti - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Migrazione da versioni HBase precedenti

Per eseguire la migrazione dei dati da una versione HBase precedente, consulta Upgrading (Aggiornamento) e HBase version number and compatibility (Numero di versione HBase e compatibilità) nella Apache HBase Reference Guide. Potrebbe essere necessario prestare particolare attenzione ai requisiti per l'aggiornamento dalle versioni precedenti alla 1.0 di HBase.

Migrazione ad Amazon EMR versione 7.4.0 o successiva

Nota

Segui queste linee guida se stai migrando da una versione EMR precedente alla 7.4.0 a una versione successiva alla 7.3.0.

Se stai utilizzando una versione EMR con la funzione Amazon Store File Tracking abilitata, inclusa nelle versioni da 6.2.0 a 7.3.0, e desideri eseguire l'upgrade a una versione con OSS Store File Tracking, disponibile nelle versioni EMR successive alla 7.3.0, segui questi passaggi:

  1. Nel cluster esistente:

    1. Disattiva la hbase:storefile tabella.

    2. Butta il hbase:storefile tavolo.

    3. Sciacquarehbase:meta.

    4. Attendi che i metadati vengano aggiornati.

  2. Nel nuovo cluster:

    1. Imposta la stessa directory Amazon S3 della directory principale.

    2. Avvia il cluster con l'DefaultStoreFileTrackerimplementazione:

      { "Classification": "hbase-site", "Properties": { hbase.store.file-tracker.impl: "org.apache.hadoop.hbase.regionserver.storefiletracker.DefaultStoreFileTracker" } }
    3. A livello di famiglia di tabelle o colonne, utilizzate i seguenti comandi per modificare il tracker dei file di archiviazione:

      1. Modificate lo Store File Tracker della tabella o della famiglia di colonne della tabella:

        hbase> change_sft 't1','FILE' hbase> change_sft 't2','cf1','FILE'
      2. Cambia tutto lo Store File Tracker della tabella che corrisponde all'espressione regolare (regex) data:

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

Migrazione dei cluster HBase su Amazon S3 ad Amazon EMR versione 7.12.0 o successiva utilizzando i cluster Read-Replica

A partire da EMR 7.12.0, puoi passare una replica di lettura HBase su un cluster Amazon S3 dalla modalità di sola lettura alla modalità attiva, abilitando sia le operazioni di lettura che di scrittura. Questa funzionalità è fornita tramite due nuovi comandi della shell HBase.

Nota

Quando usi Amazon EMR versione 7.12.0 o successiva, utilizza la seguente configurazione di esempio:

{ "Classification": "hbase-site", "Properties": { "hbase.rootdir": "s3://{S3_LOCATION}" } }, { "Classification": "hbase", "Properties": { "hbase.emr.storageMode": "s3", "hbase.emr.readreplica.enabled.v2": "true" } }
  1. readonly_state

    Recupera lo stato operativo corrente di lettura-scrittura del cluster.

    Output:

    • INATTIVO: il cluster è in modalità di sola lettura e la scrittura non è attiva.

    • ATTIVO - Il cluster supporta sia le operazioni di lettura che di scrittura.

  2. readonly_switch

    Abilita o disabilita la modalità di sola lettura con opzioni configurabili per il processo di commutazione.

    Sintassi:

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

    Parametri:

    • readonly (obbligatorio) - Valore booleano per abilitare (true) o disabilitare (false) la modalità di sola lettura

    • force_flush (opzionale) - Forza lo svuotamento dei dati prima di passare dalla modalità attiva a quella di sola lettura (impostazione predefinita: true)

    • force_refresh_meta (opzionale) - Forza l'aggiornamento della metatabella quando si passa dalla modalità di sola lettura a quella attiva (impostazione predefinita: true)

    • force_refresh_hfile (opzionale) - Forza l'aggiornamento di HFile quando si passa dalla modalità di sola lettura a quella attiva (impostazione predefinita: true)

Fasi della migrazione

Se attualmente stai eseguendo un HBase EMR 6.0.0+ su un cluster Amazon S3 e desideri migrare a un cluster EMR 7.12.0 o successivo, segui questi passaggi:

  1. Assicurati che il cluster di origine sia in uno stato stabile senza incongruenze utilizzando il report hbck o le procedure bloccate dall'interfaccia utente principale di HBase.

    sudo -u hbase hbase hbck > hbck_report.txt
  2. Assicurati che non vi siano regioni nello stato SPLIT sul cluster di origine:

    1. Se ci sono regioni in stato SPLIT, esegui le principali compattazioni sulle rispettive tabelle e attendi che vengano completate

      major_compact <table_name>
    2. Eseguite catalogjanitor_run nella shell HBase una volta completata la compattazione

  3. Crea un nuovo cluster EMR 7.12.0+ configurato come replica di lettura che punta alla stessa posizione Amazon S3 del cluster di origine. Fai riferimento a questo blog per maggiori dettagli su come configurare un cluster di replica in lettura. Avvia il nuovo cluster con la DefaultStoreFileTracker configurazione indicata nei passaggi precedenti se desideri eseguire l'aggiornamento al tracciamento dei file di OSS Store.

  4. Attendi che il nodo master si inizializzi completamente. Verifica l'accessibilità dei dati leggendo le tabelle e conferma che il nuovo cluster sia in modalità di sola lettura

    hbase:001:0> readonly_state Took 0.4612 seconds => "INACTIVE"
  5. Disabilita il bilanciamento e le compattazioni sul cluster di origine:

    echo "balance_switch false" | hbase shell echo "compaction_switch false" | hbase shell
  6. Assicurati che non vengano overlaps/inconsistencies visualizzati nell'interfaccia utente del cluster read-replica e verifica che le regioni mostrino lo stato OPEN e siano assegnate correttamente.

  7. Se desideri passare a, converti il tracciamento dei file Store utilizzando i comandi del cluster read-replica menzionati nella sezione precedente. FileBasedTracker

  8. Interrompi i job che puntano al cluster di origine, svuota tutte le tabelle e chiudi il cluster di origine. Attendi la chiusura completa prima di procedere.

    echo "flush 'usertable'" | hbase shell echo "flush 'hbase:meta'" | hbase shell echo "flush 'hbase:namespace'" | hbase shell
  9. Passa il cluster read-replica alla modalità attiva per abilitare le operazioni di scrittura. Una volta completato questo passaggio, il nuovo cluster supporterà le operazioni di lettura e scrittura e la migrazione sarà completa.

    hbase:010:0> readonly_switch false Took 38.1568 seconds
  10. Convalida le scritture sul nuovo cluster e assicurati che tutte le regioni stiano servendo le richieste.

Nota

Può esserci un solo cluster attivo che punta a una posizione Amazon S3 in qualsiasi momento. Pertanto, il passaggio della replica di lettura su attiva deve essere eseguito solo dopo la chiusura del cluster di origine.