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, 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. Déposez la hbase:storefile table.

    3. chasse d'eauhbase: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 :

      { "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 de la table ou de la famille de colonnes de tables :

        hbase> change_sft 't1','FILE' hbase> change_sft 't2','cf1','FILE'
      2. Modifiez l'ensemble du 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 d'EMR 7.12.0, vous pouvez faire passer un HBase en lecture réplique sur un cluster Amazon S3 du mode lecture seule au mode actif, en activant à la fois les opérations de lecture et d'écriture. Cette fonctionnalité est fournie par le biais de deux nouvelles commandes shell HBase.

  1. readonly_state

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

    Sortie :

    • INACTIF - Le cluster est en mode lecture seule et l'écriture est inactive.

    • ACTIVE - 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 (vrai) ou désactiver (faux) le mode lecture seule

    • force_flush (facultatif) - Force le vidage des données avant de passer du mode actif au mode lecture seule (valeur 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 (valeur par défaut : true)

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

Etapes de la migration

Si vous utilisez actuellement un cluster EMR 6.0.0+ HBase 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 et exempt d'incohérences en utilisant le rapport hbck ou les 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 en état SPLIT, effectuez des compactages majeurs sur les tables respectives et attendez qu'elles soient terminées

      major_compact <table_name>
    2. catalogjanitor_runExécuté dans le shell HBase une fois le compactage terminé

  3. Créez un nouveau cluster EMR 7.12.0+ configuré comme une réplique 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 en 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 principal s'initialise complètement. Vérifiez l'accessibilité des données en lisant les tables et en confirmant 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 les compactages sur le cluster source :

    echo "balance_switch false" | hbase shell echo "compaction_switch false" | hbase shell
  6. Assurez-vous que rien n' overlaps/inconsistencies apparaît dans l'interface utilisateur du cluster de lecture 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éplique 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éplique 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éplique en lecture en mode actif ne doit être effectué qu'après la fermeture du cluster source.