Fermer

mai 19, 2022

Migration de Hbase exécuté sur EMR

Migration de Hbase exécuté sur EMR


Introduction

Amazon Elastic Map Reduce est une plateforme gérée. Nous pouvons exécuter des frameworks de Big Data comme Apache Hadoop et Apache Spark sur AWS pour traiter et analyser de gros volumes de données.

Nous pouvons traiter d’énormes quantités de données à des fins d’analyse et de charges de travail de veille économique à l’aide de ce cadre. Amazon Elastic Map Reduce nous permet également de transformer et de déplacer d’énormes quantités de données vers et depuis d’autres magasins de données et bases de données AWS, comme Amazon S3 et Amazon DynamoDB.

HBase est une base distribuée base de données qui s’exécute sur Hadoop Distributed File System et fournit des potentiels de base de données non relationnels pour l’écosystème Hadoop.

Énoncé du problème

Migration de Hbase s’exécutant sur le cluster EMR d’une région à une autre.

Approche de solution

Nous devons déplacer les tables hbase EMR vers s3, puis les importer dans le cluster EMR nouvellement créé.

Procédure étape par étape

Voici quelques étapes pour migrer le cluster EMR vers une autre région : –

1. Créez un instantané des tables hbase à partir du cluster actuel.

un. Connectez-vous au nœud maître EMR via ssh .

b. Connectez-vous en tant que root et passez à l’utilisateur hbase.

Commande: su – hbase -s /bin/bash

c. Connectez-vous au shell hbase

Commande: shell hbase

ré. Créer des instantanés de tables à partir de hbase

Commande: snapshot ‘tablename’, ‘snapshot-name’

2. Exportez les instantanés vers le compartiment s3

Commande: hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot $snapshotname -copy-to s3://bucketname/folder/

3. Vérifiez l’instantané dans le compartiment s3.

4. Créez maintenant un cluster EMR dans la région N.Virginia avec la même configuration que celle de l’Oregon.

Noter: un. Utilisez les options de configuration avancées pour personnaliser davantage.

b. Veuillez vérifier la taille du volume ebs à partir des anciens nœuds de cluster et le mapper en conséquence.

5. Une fois le cluster prêt, connectez-vous au shell hbase avec l’utilisateur hbase, puis copiez l’instantané des tables à partir du compartiment s3.

Commande: hbase snapshot export -D hbase.rootdir=s3://bucket-name/folder/ -snapshot snapshotname -copy-to hdfs://110.xxx:8020/user/hbase -chuser hbase -chgroup hbase -chmod 700

6. Vérifiez l’instantané dans hdfs .

un. Connectez-vous à l’utilisateur hdfs

Commande: su-hdfs

b. Vérifiez la copie de l’instantané dans hdfs.

Commande: hdfs dfs -ls /user/hbase/.hbase-snapshot/

c. Vérifiez la taille de l’instantané hbase .

Commande: hdfs dfs -du -h /user/hbase/data/default/

7. Connectez-vous au shell hbase

Commande: shell hbase

  1. Restaurer la table à l’aide d’un instantané

un. Désactiver la table si elle porte le même nom

Commande: désactiver « nom-table »

b. Restaurer le tableau

Commande: restore_snapshot « nom-instantané »

c. Activer le tableau

Commande: activer « nom-table »

  1. Vérifiez le nombre de lignes des nouvelles tables hbase et comparez-les avec les anciennes tables.

Commande: compte « nom-table »

Débogage

Nous avons rencontré le problème lors de l’importation de grands instantanés de table hbase (taille> 30 Go) à partir de s3.

Lorsque nous commençons à copier un instantané, il importe quelques Go de données, puis après un certain point, la commande échoue et l’instantané est également supprimé du nouveau cluster EMR.

Après le débogage, nous avons deux solutions à ce problème :

  1. Utiliser le mappeur dans la commande qui importe l’instantané à partir de s3
  2. Vérifiez le volume attaché aux nœuds EMR et augmentez le nombre de nœuds si nécessaire.

Conclusion

Nous avons besoin d’un temps d’arrêt dans ce cas d’utilisation car nous devons copier le nombre exact d’objets des tables hbase à exporter dans s3 et le même instantané de table sera copié dans la nouvelle table hbase. Ainsi, afin d’éviter une inadéquation entre le nombre et la taille, des temps d’arrêt sont nécessaires.

Il a fallu 1 heure pour migrer des Go de données d’EMR Hbase vers s3.

TROUVÉ CELA UTILE ? PARTAGEZ-LE




Source link