View a markdown version of this page

Migration depuis les versions précédentes 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 depuis les versions précédentes HBase

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

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 HBase sur des clusters 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 réplique en lecture HBase 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 HBase shell.

  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' HFile actualisation lors du passage du mode lecture seule au mode actif (valeur par défaut : true)

Etapes de la migration

Si vous utilisez actuellement un EMR 6.0.0+ sur un cluster Amazon HBase 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 qu'il n'y a aucune incohérence en utilisant le rapport hbck ou les procédures bloquées de l' HBase interface utilisateur principale.

    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. Exécuter catalogjanitor_run dans le HBase shell 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.