View a markdown version of this page

Migration à partir des versions antérieures de HBase - Amazon EMR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Migration à partir des versions antérieures de HBase

Pour migrer des données à partir d'une version HBase précédente, consultez Mise à niveau et Numéro de version et compatibilité HBase dans le Guide de référence d'Apache HBase. Vous devrez peut-être porter une attention particulière aux exigences relatives à la mise à niveau à partir de versions antérieures à la version 1.0 de HBase.

Migration vers Amazon EMR version 7.4.0 ou ultérieure

Note

Suivez ces instructions si vous migrez d'une version EMR antérieure à 7.4.0 vers une version supérieure à 7.3.0.

Si vous utilisez actuellement une version EMR avec la fonctionnalité Store File Tracking d'Amazon activée, qui est incluse dans les versions 6.2.0 à 7.3.0, et que vous souhaitez passer à une version avec OSS Store File Tracking, disponible sur les versions EMR ultérieures à 7.3.0, procédez comme suit :

  1. Dans le cluster existant :

    1. Désactivez le hbase:storefile tableau.

    2. Laisse tomber la hbase:storefile table.

    3. Rincerhbase:meta.

    4. Attendez que les métadonnées soient mises à jour.

  2. Dans le nouveau cluster :

    1. Définissez le même répertoire Amazon S3 que le répertoire racine.

    2. Démarrez le cluster avec l'DefaultStoreFileTrackerimplémentation suivante :

      { "Classification": "hbase-site", "Properties": { hbase.store.file-tracker.impl: "org.apache.hadoop.hbase.regionserver.storefiletracker.DefaultStoreFileTracker" } }
    3. Au niveau de la famille de tables ou de colonnes, utilisez les commandes suivantes pour modifier le suivi des fichiers de stockage :

      1. Modifiez le Store File Tracker du tableau ou de la famille de colonnes de tableaux :

        hbase> change_sft 't1','FILE' hbase> change_sft 't2','cf1','FILE'
      2. Modifiez tous les Store File Tracker de la table correspondant à l'expression régulière (regex) donnée :

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

Migration de clusters HBase sur Amazon S3 vers Amazon EMR version 7.12.0 ou ultérieure à l'aide de clusters Read-Replica

À partir de la version 7.12.0 d'EMR, vous pouvez faire passer une HBase en lecture-réplique sur un cluster Amazon S3 du mode lecture seule au mode actif, ce qui permet à la fois des opérations de lecture et d'écriture. Cette fonctionnalité est fournie par le biais de deux nouvelles commandes shell HBase.

Note

Lorsque vous utilisez Amazon EMR version 7.12.0 ou ultérieure, utilisez l'exemple de configuration suivant :

{ "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

    Récupère l'état de fonctionnement en lecture-écriture actuel du cluster.

    Sortie :

    • INACTIF : le cluster est en mode lecture seule et l'écriture est inactive.

    • ACTIF - Le cluster prend en charge les opérations de lecture et d'écriture.

  2. readonly_switch

    Active ou désactive le mode lecture seule avec des options configurables pour le processus de commutation.

    Syntaxe :

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

    Paramètres :

    • readonly (obligatoire) - Valeur booléenne pour activer (true) ou désactiver (false) le mode lecture seule

    • force_flush (facultatif) - Force le vidage des données avant de passer du mode actif au mode lecture seule (par défaut : true)

    • force_refresh_meta (facultatif) - Force l'actualisation de la méta-table lors du passage du mode lecture seule au mode actif (par défaut : true)

    • force_refresh_hfile (facultatif) - Force l'actualisation de HFile lors du passage du mode lecture seule au mode actif (par défaut : true)

Etapes de la migration

Si vous utilisez actuellement un cluster HBase EMR 6.0.0+ sur Amazon S3 et que vous souhaitez migrer vers un cluster EMR 7.12.0 ou version ultérieure, procédez comme suit :

  1. Assurez-vous que votre cluster source est dans un état stable sans incohérences à l'aide du rapport hbck ou des procédures bloquées de l'interface utilisateur principale de HBase.

    sudo -u hbase hbase hbck > hbck_report.txt
  2. Assurez-vous qu'aucune région n'est à l'état SPLIT sur le cluster source :

    1. Si certaines régions sont dans l'état SPLIT, exécutez des compactages majeurs sur les tables respectives et attendez qu'ils soient terminés

      major_compact <table_name>
    2. Exécuter catalogjanitor_run dans la coque HBase une fois le compactage terminé

  3. Créez un nouveau cluster EMR 7.12.0+ configuré en tant que réplica en lecture pointant vers le même emplacement Amazon S3 que votre cluster source. Consultez ce blog pour plus de détails sur la configuration d'un cluster de répliques de lecture. Lancez le nouveau cluster avec la DefaultStoreFileTracker configuration indiquée dans les étapes ci-dessus si vous souhaitez passer au suivi des fichiers OSS Store.

  4. Attendez que le nœud maître soit complètement initialisé. Vérifiez l'accessibilité des données en lisant les tableaux et confirmez que le nouveau cluster est en mode lecture seule

    hbase:001:0> readonly_state Took 0.4612 seconds => "INACTIVE"
  5. Désactivez l'équilibrage et le compactage sur le cluster source :

    echo "balance_switch false" | hbase shell echo "compaction_switch false" | hbase shell
  6. Assurez-vous qu'aucun élément n' overlaps/inconsistencies apparaît dans l'interface utilisateur du cluster en lecture-réplication et vérifiez que les régions affichent le statut OUVERT et sont correctement attribuées.

  7. Convertissez le suivi des fichiers Store à l'aide des commandes du cluster de lecture-réplication mentionné dans la section ci-dessus si vous souhaitez passer à. FileBasedTracker

  8. Arrêtez les tâches pointant vers le cluster source, videz toutes les tables et arrêtez le cluster source. Attendez la résiliation complète avant de continuer.

    echo "flush 'usertable'" | hbase shell echo "flush 'hbase:meta'" | hbase shell echo "flush 'hbase:namespace'" | hbase shell
  9. Passez le cluster de lecture-réplication en mode actif pour activer les opérations d'écriture. Une fois cette étape terminée, votre nouveau cluster prendra en charge les opérations de lecture et d'écriture, et la migration sera terminée.

    hbase:010:0> readonly_switch false Took 38.1568 seconds
  10. Validez les écritures sur le nouveau cluster et assurez-vous que toutes les régions répondent aux demandes.

Note

Il ne peut y avoir qu'un seul cluster actif pointant vers un emplacement Amazon S3 à tout moment. Par conséquent, le passage de la réplication en lecture à actif ne doit être effectué qu'après la fermeture du cluster source.