Cette page explique comment utiliser la réplication interrégionale et la reprise après sinistre du metastore BigLake.
Cette fonctionnalité n'est disponible que pour les catalogues qui utilisent des buckets Cloud Storage birégionaux ou multirégionaux.
Avant de commencer
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigLake API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Rôles requis
Pour obtenir les autorisations nécessaires pour utiliser le catalogue REST Iceberg dans le métastore BigLake, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Effectuer des tâches administratives, comme gérer l'accès des utilisateurs au catalogue et au stockage, ainsi que le mode de distribution des identifiants du catalogue :
-
Administrateur BigLake (
roles/biglake.admin) sur le projet -
Administrateur de l'espace de stockage (
roles/storage.admin) sur le bucket Cloud Storage.
-
Administrateur BigLake (
-
Lire les données de table en mode distribution d'identifiants :
Lecteur BigLake (
roles/biglake.viewer) sur le projet -
Écrire des données de table en mode distribution d'identifiants :
Éditeur BigLake (
roles/biglake.editor) sur le projet -
Lire les ressources de catalogue et les données de table en mode sans distribution d'identifiants :
-
Lecteur BigLake (
roles/biglake.viewer) sur le projet -
Lecteur des objets Storage (
roles/storage.objectViewer) sur le bucket Cloud Storage
-
Lecteur BigLake (
-
Gérer les ressources du catalogue et écrire des données de table en mode sans distribution d'identifiants :
-
Éditeur BigLake (
roles/biglake.editor) sur le projet -
Utilisateur d'objets Storage (
roles/storage.objectUser) sur le bucket Cloud Storage
-
Éditeur BigLake (
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Workflow de réplication et de reprise après sinistre
Pour utiliser la réplication et la reprise après sinistre interrégionales, procédez comme suit :
- Afficher l'état de la réplication : identifiez vos régions principale et secondaire actuelles pour déterminer la région cible du basculement.
- Vérifiez l'état de la synchronisation : vérifiez l'état actuel de vos régions principale et secondaire pour vous assurer qu'elles sont prêtes pour une transition.
- Choisissez un mode de basculement : choisissez entre un basculement progressif (idéal pour la maintenance planifiée) ou un basculement forcé (idéal pour la reprise d'urgence).
- Lancez le basculement : exécutez la commande correspondant au mode choisi pour inverser vos régions principale et secondaire.
Préparer le basculement
Identifiez votre région principale actuelle et vérifiez l'état de synchronisation de votre région secondaire. Ensuite, lancez le basculement.
Afficher l'état de la réplication
Pour déterminer les régions dans lesquelles votre catalogue est répliqué, exécutez la commande gcloud alpha biglake iceberg catalogs describe suivante.
gcloud alpha biglake iceberg catalogs describe CATALOG_NAME
Remplacez CATALOG_NAME par le nom de votre catalogue.
Vérifier l'état de la synchronisation
Avant d'initier un basculement, vérifiez l'état de synchronisation de votre réplica secondaire avec la commande alpha biglake iceberg failover :
gcloud alpha biglake iceberg catalogs failover CATALOG_NAME \
--validate_only \
--primary-replica PRIMARY_REPLICA_REGION
Remplacez les éléments suivants :
CATALOG_NAME: nom de votre catalogue.PRIMARY_REPLICA_REGION: région à désigner comme nouvelle réplique principale.
Initier un basculement
La fonctionnalité de reprise après sinistre utilise la réplication du metastore pour désigner les régions principales et secondaires. Toutes les métadonnées de validation des tables sont diffusées à partir de la région principale et répliquées dans la région secondaire. Vous pouvez échanger les régions principale et secondaire du catalogue à l'aide de l'opération de basculement.
Basculement progressif
Pour lancer un basculement progressif, exécutez la commande alpha biglake iceberg failover
suivante :
gcloud alpha biglake iceberg catalogs failover CATALOG_NAME \
--primary-replica PRIMARY_REPLICA_REGION
Remplacez les éléments suivants :
CATALOG_NAME: nom de votre catalogue.PRIMARY_REPLICA_REGION: région à désigner comme nouvelle réplique principale.
Basculement forcé
Pour lancer un basculement forcé, exécutez la commande alpha biglake iceberg failover
suivante :
gcloud alpha biglake iceberg catalogs failover CATALOG_NAME \
--primary-replica PRIMARY_REPLICA_REGION \
--conditional-failover-replication-time=REPLICATION_TIMESTAMP
Remplacez les éléments suivants :
CATALOG_NAME: nom de votre catalogue.PRIMARY_REPLICA_REGION: région à désigner comme nouvelle réplique principale.REPLICATION_TIMESTAMP: code temporel RFC 3339 servant de point de contrôle pour la réplication. Le processus de réplication vérifie que l'instance dupliquée contient toutes les données validées jusqu'à ce moment. Si le réplica ne contient pas toutes les données validées avant ce code temporel, la commande échoue. Pour forcer le processus de basculement, quel que soit le délai de réplication, définissez ce code temporel sur une date très ancienne.