Utiliser la migration gérée avec un service Dataproc Metastore

Cette page explique comment démarrer et gérer une migration gérée Dataproc Metastore.

Vous pouvez configurer une migration à l'aide des API Dataproc Metastore.

Avant de commencer

Démarrer la migration

Lorsque vous exécutez une migration de démarrage, Dataproc Metastore se connecte à Cloud SQL et utilise Cloud SQL comme base de données backend. Au cours de ce processus, Dataproc Metastore exécute un pipeline qui copie les données de Cloud SQL vers sa propre base de données (Spanner).

Dataproc Metastore continue d'utiliser Cloud SQL comme backend et réplique les données jusqu'à ce que le processus de migration complète soit appelé.

Avant de commencer une migration, assurez-vous d'avoir configuré les prérequis de la migration gérée.

Considérations sur la migration

  • Un service Dataproc Metastore ne peut exécuter qu'une seule migration à la fois.

  • Une migration reste active jusqu'à ce que vous finalisiez le processus. Il n'y a pas de délai pour effectuer la migration. Par exemple, elle peut prendre un jour, 30 jours ou un an.

  • Les sauvegardes planifiées ne sont pas limitées lors d'une migration. Toutefois, la sauvegarde peut être incomplète. Pour éviter tout problème, désactivez les sauvegardes planifiées pendant la migration.

Une migration de démarrage déclenche les changements d'état suivants:

  • Dataproc Metastore passe à l'état MIGRATING.
  • L'état d'exécution de la migration passe à RUNNING.
  • La phase d'exécution de la migration passe à REPLICATION.

Console

Premiers pas

  1. Dans la console Google Cloud, ouvrez la page Dataproc Metastore:

    Accéder à Dataproc Metastore

  2. Sur la page Dataproc Metastore, cliquez sur le nom du service vers lequel vous souhaitez migrer.

    La page Informations sur le service s'ouvre.

  3. En haut de la page, cliquez sur Migrer les données.

    La page Créer une migration s'ouvre sur l'onglet Connectivité et affiche les paramètres de configuration de la base de données Cloud SQL pour Dataproc Metastore.

Configuration de la base de données Cloud SQL pour DPMS

  1. Dans le champ Nom de connexion de l'instance, saisissez le nom de connexion de l'instance de la base de données Cloud SQL, au format suivant : project_id:region:instance_name.

  2. Dans le champ Adresse IP, saisissez l'adresse IP requise pour vous connecter à l'instance Cloud SQL.

  3. Dans le champ Port, saisissez 3306.

  4. Dans le champ Nom de la base de données Hive, saisissez le nom de la base de données utilisée comme backend du métastore Hive autogéré.

  5. Dans le champ Nom d'utilisateur, saisissez le nom d'utilisateur que vous utilisez pour connecter Cloud SQL au métastore Hive.

  6. Dans le champ Mot de passe, saisissez le mot de passe que vous utilisez pour connecter Cloud SQL au métastore Hive.

Service proxy SOCKS5

  1. Dans le champ Sous-réseau du proxy, saisissez un sous-réseau de type standard. Le sous-réseau doit être présent dans le réseau VPC Cloud SQL. Ce sous-réseau est utilisé pour déployer le service proxy SOCKS5 intermédiaire.

  2. Dans le champ Sous-réseau NAT, saisissez un sous-réseau de type Private Service Connect. Ce sous-réseau doit être présent dans le réseau VPC Cloud SQL et est utilisé pour publier le service proxy SOCKS5 à l'aide de Private Service Connect.

  3. Cliquez sur Continuer.

    L'onglet Capture de données modifiées (CDC) s'ouvre et affiche les paramètres de configuration de la configuration de la base de données Cloud SQL pour le flux de données.

Configuration de la base de données Cloud SQL pour le flux de données

  1. Dans le champ Nom d'utilisateur, saisissez le nom d'utilisateur que vous utilisez pour vous connecter au CDC Cloud SQL utilisé par Datastream.

  2. Dans le champ Mot de passe, saisissez le mot de passe que vous utilisez pour vous connecter au CDC Cloud SQL utilisé par Datastream.

  3. Dans le champ Réseau VPC, saisissez le réseau dans le même réseau VPC que l'instance Cloud SQL utilisée par Datastream pour établir une connexion privée avec le CDC.

  4. Dans le champ Plage d'adresses IP du sous-réseau, saisissez une plage d'adresses IP de sous-réseau d'au moins /29. Datastream utilise cette adresse IP pour établir un appairage avec le réseau VPC.

  5. Dans le champ Sous-réseau du proxy inverse, saisissez le sous-réseau que vous avez créé dans le même réseau VPC que Cloud SQL. Datastream utilise ce sous-réseau. Le sous-réseau permet d'héberger une connexion proxy inverse pour le CDC Datastream. Le sous-réseau doit être configuré dans la même région que le service Dataproc Metastore.

Configuration GCS

  1. Pour ID de bucket, sélectionnez le chemin d'accès Cloud Storage pour stocker les données CDC pendant la migration.

  2. Dans le champ Chemin racine, saisissez le chemin racine dans le bucket Cloud Storage. Les données d'événements de flux sont écrites dans ce chemin.

  3. Cliquez sur Créer.

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type:application/json" \
  -X POST -d \
  '{
    "migration_execution": {
      "cloud_sql_migration_config": {
        "cloud_sql_connection_config": {
          "instance_connection_name": INSTANCE_CONNECTION_NAME,
          "hive_database_name": "HIVE_DATABASE_NAME",
          "ip_address": "IP_ADDRESS",
          "port": 3306,
          "username": "CONNECTION_USERNAME",
          "password": "CONNECTION_PASSWORD",
          "proxy_subnet": "PROXY_SUBNET",
          "nat_subnet": "NAT_SUBNET"
        },
        "cdc_config": {
          "username": "CDC_USENAME",
          "password": "CDC_PASSWORD",
          "vpc_network": "VPC_NETWORK",
          "subnet_ip_range": "SUBNET_IP_RANGE",
          "reverse_proxy_subnet": "REVERSE_PROXY_SUBNET_ID",
          "bucket": "BUCKET_NAME",
          "root_path": "ROOT_PATH",
        }
      }
    }
}' \
  https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE:startMigration

Remplacez les éléments suivants :

  • SERVICE: nom ou ID de votre service Dataproc Metastore.
  • PROJECT_ID: ID du projet dans lequel se trouve votre service Dataproc Metastore. Google Cloud
  • LOCATION: région dans laquelle se trouve votre service Dataproc Metastore. Google Cloud

Configuration de la migration Cloud SQL

  • INSTANCE_CONNECTION_NAME: nom de la connexion d'instance pour la base de données Cloud SQL, au format suivant : PROJECT_ID/LOCATION/CLOUDSQL_INSTANCE_ID.
  • HIVE_DATABASE_NAME: nom de la base de données Hive autogérée connectée à Cloud SQL.
  • IP_ADDRESS: adresse IP requise pour se connecter à l'instance Cloud SQL.
  • CONNECTION_USERNAME: nom d'utilisateur que vous utilisez pour connecter Cloud SQL à Hive Metastore.
  • CONNECTION_PASSWORD : mot de passe que vous utilisez pour connecter Cloud SQL au métastore Hive
  • PROXY_SUBNET: sous-réseau utilisé dans le réseau VPC Cloud SQL. Ce sous-réseau héberge un proxy intermédiaire pour assurer la connectivité entre les réseaux transitifs.
  • NAT_SUBNET: sous-réseau Private Service Connect qui fournit une connexion du service Dataproc Metastore pour accéder au proxy intermédiaire. La taille du sous-réseau doit avoir une longueur de préfixe d'au moins /29 et se trouver dans la plage IPv4.

Configuration du CDC

  • CDC_USERNAME: nom d'utilisateur utilisé par le service Datastream pour se connecter à Cloud SQL.
  • CDC_PASSWORD: mot de passe utilisé par le service Datastream pour se connecter à Cloud SQL.
  • VPC_NETWORK: réseau appartenant au même réseau VPC que l'instance Cloud SQL utilisée par Datastream pour établir une connexion privée avec le CDC.
  • SUBNET_IP_RANGE: plage d'adresses IP de sous-réseau d'au moins /29 utilisée par Datastream pour établir un appairage avec le réseau VPC.
  • REVERSE_PROXY_SUBNET_ID: sous-réseau du même réseau VPC que l'instance Cloud SQL utilisée par Datastream. Le sous-réseau est utilisé pour héberger une connexion de proxy inverse pour le CDC Datastream. Le sous-réseau doit être configuré dans la même région que le service Dataproc Metastore.
  • BUCKET_NAME: chemin d'accès Cloud Storage pour stocker les données CDC lors de la migration.
  • ROOT_PATH: chemin d'accès racine dans le bucket Cloud Storage. Les données d'événements de flux sont écrites dans ce chemin.

Terminer la migration

Une fois la migration terminée, Dataproc Metastore se connecte à Spanner et commence à l'utiliser comme base de données backend.

Une migration complète déclenche les modifications d'état suivantes:

  • Dataproc Metastore revient à l'état ACTIVE.
  • L'état d'exécution de la migration passe à SUCCEEDED.

Console

  1. Dans la console Google Cloud, ouvrez la page Dataproc Metastore.

  2. En haut de la page, cliquez sur Migrer les données.

    La page Migrer des données s'ouvre et affiche les migrations gérées terminées.

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type:application/json" \
  -X POST -d '' \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE:completeMigration

Remplacez les éléments suivants :

  • SERVICE: nom ou ID de votre service Dataproc Metastore.
  • PROJECT_ID: ID du projet dans lequel se trouve votre service Dataproc Metastore. Google Cloud
  • LOCATION: région dans laquelle se trouve votre service Dataproc Metastore. Google Cloud

Annuler la migration

Lorsque vous annulez une migration, Dataproc Metastore rétablit toutes les modifications et commence à utiliser le type de base de données Spanner comme base de données backend. Toutes les données transférées lors de la migration sont supprimées.

L'annulation d'une migration déclenche les changements d'état suivants:

  • Dataproc Metastore revient à l'état ACTIVE.
  • L'état d'exécution de la migration passe à CANCELLED.

Console

  1. Dans la console Google Cloud, ouvrez la page Dataproc Metastore.

  2. En haut de la page, cliquez sur Migrer les données.

    La page Migrer les données s'ouvre et affiche vos migrations gérées annulées.

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type:application/json" \
  -X POST -d '' \
    https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE:cancelMigration

Remplacez les éléments suivants :

  • SERVICE_NAME: nom ou ID de votre service Dataproc Metastore.
  • PROJECT_ID: ID du projet dans lequel se trouve votre service Dataproc Metastore. Google Cloud
  • LOCATION: région dans laquelle se trouve votre service Dataproc Metastore. Google Cloud

Obtenir les détails de la migration

Obtenir des informations sur une seule migration gérée

Console

  1. Dans la console Google Cloud, ouvrez la page Dataproc Metastore.

  2. En haut de la page, cliquez sur Migrer les données.

    La page Migrer des données s'ouvre et affiche vos migrations gérées.

    Pour en savoir plus sur une migration gérée, cliquez sur son nom.

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -X GET \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE/migrationExecutions/MIGRATION_ID

Remplacez les éléments suivants :

  • SERVICE: nom ou ID de votre service Dataproc Metastore.
  • PROJECT_ID: ID du projet dans lequel se trouve votre service Dataproc Metastore. Google Cloud
  • LOCATION: région dans laquelle se trouve votre service Dataproc Metastore. Google Cloud
  • MIGRATION_ID: nom ou ID de votre migration Dataproc Metastore.

Répertorie les migrations

Répertorie les migrations gérées.

Console

  1. Dans la console Google Cloud, ouvrez la page Dataproc Metastore.

  2. En haut de la page, cliquez sur Migrer les données.

    La page Migrer des données s'ouvre et affiche vos migrations gérées.

  3. Vérifiez que la commande a listé les migrations.

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -X GET \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE/migrationExecutions/MIGRATION_ID

Remplacez les éléments suivants :

  • SERVICE: nom ou ID de votre service Dataproc Metastore.
  • PROJECT_ID: ID du projet dans lequel se trouve votre service Dataproc Metastore. Google Cloud
  • LOCATION: région dans laquelle se trouve votre service Dataproc Metastore. Google Cloud

Supprimer les migrations

Supprimez les migrations gérées.

Console

  1. Dans la console Google Cloud, ouvrez la page Dataproc Metastore.

  2. En haut de la page, cliquez sur Migrer les données.

    La page Migrer des données s'ouvre et affiche vos migrations gérées.

  3. Sélectionnez la migration, puis cliquez sur Supprimer.

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
   -X DELETE \
    https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE/migrationExecutions/MIGRATION_ID

Remplacez les éléments suivants :

  • SERVICE: nom ou ID de votre service Dataproc Metastore.
  • PROJECT_ID: ID du projet dans lequel se trouve votre service Dataproc Metastore. Google Cloud
  • LOCATION: région dans laquelle se trouve votre service Dataproc Metastore. Google Cloud
  • MIGRATION_ID: nom ou ID de la migration Dataproc Metastore.

Étape suivante