Cette rubrique présente les cas d’utilisation, les fonctionnalités, les avantages et les limites de la synchronisation complète et incrémentielle des données, et explique comment créer des tâches de synchronisation.
Cas d’utilisation
Mises à niveau majeures : par exemple, passage de HBase 1.x à HBase 2.x.
Migration inter-régions : par exemple, de la région Chine (Qingdao) vers la région Chine (Pékin).
Migration inter-comptes : migration de données entre différents comptes.
Mises à niveau de cluster : par exemple, migration d’un cluster 4 cœurs/8 Go vers un cluster 8 cœurs/16 Go.
Répartition de la charge de travail : par exemple, déplacement d’une partie de vos charges de travail vers un nouveau cluster.
Fonctionnalités
Migration sans interruption de service entre les versions suivantes : HBase 0.94, HBase 0.98, HBase 1.x, HBase 2.x et Lindorm.
Migration du schéma de table, réplication des données en temps réel et migration complète des données.
Migration au niveau de la base de données, du namespace ou de la table.
Renommage des tables pendant la migration.
Spécification d’une plage horaire, d’une plage de clés de ligne ou de colonnes spécifiques pour la migration.
API disponible pour créer des tâches de migration.
Avantages
Migration de données sans interruption grâce à la gestion conjointe des données historiques et de la synchronisation incrémentielle en temps réel au sein d’une seule tâche.
Le processus de migration lit les données directement depuis le HDFS du cluster source sans interagir avec le service HBase, ce qui minimise l’impact sur vos services en ligne.
La copie des données au niveau des fichiers est plus efficace et réduit généralement le transfert de données de plus de 50 % par rapport à une migration au niveau de l’API.
Un seul nœud peut migrer des données à une vitesse allant jusqu’à 150 Mo/s. La mise à l'échelle horizontale du nombre de nœuds permet de migrer de manière stable des téraoctets ou des pétaoctets de données.
Mécanisme robuste de nouvelle tentative en cas d’erreur, surveillance en temps réel de la vitesse et de la progression des tâches, et alertes en cas d’échec.
Synchronisation automatique du schéma pour garantir la cohérence des partitions.
Limites
Les clusters avec Kerberos activé ne sont pas pris en charge.
Les instances ApsaraDB for HBase à nœud unique ne sont pas prises en charge.
Les instances ApsaraDB for HBase dans le réseau classique ne sont pas prises en charge en raison des limitations réseau.
La synchronisation incrémentielle des données est mise en œuvre de manière asynchrone sur la base du journal des écritures anticipées (WAL) de HBase. Les données importées via BulkLoad ou écrites sans WAL ne sont pas synchronisées par Lindorm Tunnel Service (LTS).
Gestion des journaux pour la synchronisation incrémentielle
Après activation de la synchronisation incrémentielle, si les données ne sont pas consommées, les journaux sont conservés par défaut pendant 48 heures. Passé ce délai, l’abonnement est automatiquement annulé et les données conservées sont supprimées.
Les données peuvent ne pas être consommées dans les scénarios suivants : le cluster Lindorm Tunnel Service (LTS) est libéré avant la fin de la tâche, la tâche de synchronisation est suspendue ou bloquée par une erreur.
Remarques relatives à l’utilisation
Avant la migration, assurez-vous que le cluster cible dispose d’une capacité HDFS suffisante pour éviter l’épuisement du stockage.
Avant de démarrer une tâche de synchronisation incrémentielle des données, augmentez la période de conservation des journaux sur le cluster source afin de disposer de temps supplémentaire pour gérer les erreurs potentielles. Définissez le paramètre
hbase.master.logcleaner.ttldanshbase-site.xmlsur une valeur supérieure à 12 heures et redémarrez le HMaster.Il n’est pas nécessaire de créer des tables dans le cluster cible. Lindorm Tunnel Service (LTS) crée automatiquement des tables correspondant au schéma et aux informations de partition du cluster source. Si vous créez manuellement des tables, leurs partitions peuvent être incohérentes avec celles des tables sources, ce qui entraîne des fractionnements et des compactages fréquents après la migration. Cette opération peut s’avérer longue pour les tables volumineuses.
Si une table source utilise un coprocesseur, assurez-vous que le cluster cible contient le fichier JAR du coprocesseur correspondant avant de créer la table cible.
Avant de commencer
Vérifiez la connectivité réseau entre le cluster source, le cluster cible et Lindorm Tunnel Service (LTS).
Ajoutez les sources de données HBase et Lindorm.
Connectez-vous à la console Lindorm Tunnel Service (LTS).
Créer une tâche
Dans le volet de navigation de gauche, choisissez Lindorm/HBase Migration > Quick Migration.
Cliquez sur Create Task.
Task name : facultatif. Le nom ne peut contenir que des lettres et des chiffres. Si vous laissez ce champ vide, l’ID de la tâche est utilisé comme nom.
Définissez le Source Cluster et le Target Cluster.
-
Sélectionnez les opérations requises :
Table Schema Migration : crée des tables dans le cluster cible avec le même schéma et les mêmes informations de partition que les tables sources.
Real-time Data Replication : synchronise les données incrémentielles du cluster source en temps réel.
Historical Data Migration : migre toutes les données existantes au niveau des fichiers.
Table Mapping : saisissez les noms des tables à migrer, séparés par des sauts de ligne.
Advanced Configuration : facultatif.
Consulter une tâche
Dans le volet de navigation de gauche, choisissez Lindorm/HBase Migration > Quick Migration pour consulter vos tâches.
Afficher les détails d’une tâche
Dans le volet de navigation de gauche, choisissez Lindorm/HBase Migration > Quick Migration.
Cliquez sur le nom de la tâche pour afficher son statut d’exécution.
Basculement
Attendez que la migration complète des données soit terminée et que la latence de la synchronisation incrémentielle descende à quelques secondes ou à quelques centaines de millisecondes.
Activez l’échantillonnage et la vérification des données dans Lindorm Tunnel Service (LTS). Pour les tables volumineuses, utilisez un faible taux d’échantillonnage afin d’éviter d’impacter les charges de travail en ligne.
Validez votre application.
Effectuez le basculement.