Modifier la version d'image Dataproc dans Cloud Data Fusion

Cette page explique comment modifier la version d'image Dataproc utilisée par votre instance Cloud Data Fusion. Vous pouvez modifier l'image à la au niveau de l'instance, de l'espace de noms ou du pipeline.

Avant de commencer

Arrêtez tous les pipelines en temps réel et les jobs de réplication dans le Instance Cloud Data Fusion. Si un pipeline ou une réplication en temps réel lorsque vous modifiez la version de l'image Dataproc, ne s'appliquent pas à l'exécution du pipeline.

Pour les pipelines en temps réel, si le point de contrôle est activé, l'arrêt des pipelines ne provoque aucune perte de données. Pour les jobs de réplication, que les journaux de la base de données sont disponibles, l'arrêt et le démarrage de réplication n'entraîne pas de perte de données.

Console

  1. Accédez à la page Instances de Cloud Data Fusion (dans CDAP, cliquez sur Afficher les instances), puis ouvrez l'instance sur laquelle vous devez arrêter un pipeline.

    Accéder à la page "Instances"

  2. Ouvrez chaque pipeline en temps réel dans Pipeline Studio et cliquez sur Arrêter.

  3. Ouvrez chaque tâche de réplication sur la page Replicate (Répliquer), puis cliquez sur Stop (Arrêter).

API REST

  • Pour récupérer tous les pipelines, utilisez l'appel d'API REST suivant:

    GET -H "Authorization: Bearer ${AUTH_TOKEN}" \
    "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps"
    

    Remplacez NAMESPACE_ID par le nom de votre espace de noms.

  • Pour arrêter un pipeline en temps réel, utilisez l'appel d'API REST suivant:

    POST -H "Authorization: Bearer ${AUTH_TOKEN}" \
    "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/PIPELINE_NAME/spark/DataStreamsSparkStreaming/stop"
    

    Remplacez NAMESPACE_ID par le nom de votre et PIPELINE_NAME avec le nom du en temps réel.

  • Pour arrêter une tâche de réplication, utilisez l'appel d'API REST suivant:

    POST -H "Authorization: Bearer ${AUTH_TOKEN}" \
    "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/REPLICATION_JOB_NAME/workers/DeltaWorker/stop"
    

    Remplacez NAMESPACE_ID par le nom de votre Espace de noms et REPLICATION_JOB_NAME avec le nom du job de réplication.

    Pour en savoir plus, consultez la section Arrêter les pipelines en temps réel. et à l'arrêt des tâches de réplication.

Vérifier et remplacer la version par défaut de Dataproc dans Cloud Data Fusion

  1. Accédez à l'interface Web de Cloud Data Fusion.

  2. Cliquez sur Administrateur système > Configuration > Système Préférences.

    Modifier les préférences système

  3. Si aucune image Dataproc n'est spécifiée dans les préférences système, ou cliquez sur Modifier les préférences système pour modifier vos préférences.

    1. Saisissez le texte suivant dans le champ Clé:

      system.profile.properties.imageVersion

    2. Saisissez l'image Dataproc choisie dans le champ Value (Valeur), par exemple 2.1.

    3. Cliquez sur Enregistrer et fermer.

Définir les préférences pour le système

Ce changement affecte l'ensemble de l'instance Cloud Data Fusion, y compris tous ses espaces de noms et son exécution du pipeline, sauf si la propriété de la version d'image est dans un espace de noms, un pipeline ou un argument d'exécution de votre instance.

Modifier la version de l'image Dataproc

La version de l'image peut être définie dans l'interface Web de Cloud Data Fusion dans le Configurations de calcul, préférences d'espace de noms ou arguments d'exécution du pipeline.

Modifier l'image dans les préférences d'espace de noms

Si vous avez remplacé la version d'image dans les propriétés de votre espace de noms, procédez comme suit:

  1. Accédez à l'interface Web de Cloud Data Fusion.

  2. Cliquez sur Administrateur système > Configuration > Espaces de noms.

  3. Ouvrez chaque espace de noms, puis cliquez sur Préférences.

    1. Assurez-vous qu'il n'y a pas de forçage avec la clé system.profile.properties.imageVersion avec une valeur de version d'image incorrecte.

    2. Cliquez sur Terminer.

Modifier l'image dans les profils de calcul système

  1. Accédez à l'interface Web de Cloud Data Fusion.

  2. Cliquez sur Administrateur système > Configuration.

  3. Cliquez sur Profils de calcul système > Créer un profil.

  4. Sélectionnez l'approvisionneur Dataproc.

    Sélectionner l'approvisionneur

  5. Créez le profil pour Dataproc. Dans le champ Version de l'image, indiquez une version d'image Dataproc.

    Champ "Version de l'image"

  6. Sélectionnez ce profil de calcul lorsque vous exécutez le pipeline dans Studio. . Sur la page d'exécution du pipeline, cliquez sur Configurer > Configuration de calcul, puis sélectionnez ce profil.

  7. Sélectionnez le profil Dataproc, puis cliquez sur Enregistrer.

  8. Cliquez sur Terminer.

Modifier l'image dans les arguments d'exécution du pipeline

Si vous avez remplacé la version d'image par une propriété dans l'environnement d'exécution arguments de votre pipeline, procédez comme suit:

  1. Accédez à l'interface Web de Cloud Data Fusion.

  2. Cliquez sur Menu > Liste.

  3. Sur la page Liste, sélectionnez le pipeline que vous souhaitez mettre à jour.

    Le pipeline s'ouvre sur la page Studio.

  4. Pour développer les options Exécuter, cliquez sur la flèche de développement .

    La fenêtre Arguments d'exécution s'ouvre.

  5. Vérifier qu'il n'y a pas de remplacement avec la clé system.profile.properties.imageVersion avec une version d'image incorrecte comme valeur.

  6. Cliquez sur Enregistrer.

    Définir l'argument d'exécution du pipeline

Recréer les clusters Dataproc statiques utilisés par Cloud Data Fusion avec la version d'image choisie

Si vous utilisez des clusters Dataproc existants avec Cloud Data Fusion, suivez les consignes Dataproc guide pour recréer les clusters avec le la version d'image Dataproc choisie pour votre solution Cloud Data Fusion ; version.

Vous pouvez également créer un cluster Dataproc avec la version d'image Dataproc choisie, puis supprimer et recréer le profil de calcul dans Cloud Data Fusion avec le même nom de profil de calcul et le nom de cluster Dataproc mis à jour. Ainsi, l'exécution de pipelines de traitement par lot une exécution complète sur le cluster existant, et les exécutions de pipeline suivantes sur le nouveau cluster Dataproc. Vous pouvez supprimer l'ancienne cluster Dataproc après avoir vérifié que tous les pipelines s'exécutent terminés.

Vérifier que la version de l'image Dataproc est à jour

Console

  1. Dans la console Google Cloud, accédez à la page Clusters Dataproc .

    accéder aux clusters

  2. Ouvrez la page Détails du cluster pour le nouveau cluster créé par Cloud Data Fusion lorsque vous avez spécifié la nouvelle version.

    Le champ Version de l'image contient la nouvelle valeur que vous avez spécifiée dans Cloud Data Fusion.

API REST

  1. Obtenez la liste des clusters avec leurs métadonnées:

    GET -H "Authorization: Bearer ${AUTH_TOKEN}" \
    https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION_ID/clusters
    

    Remplacez les éléments suivants :

    • PROJECT_ID par le nom de votre espace de noms
    • REGION_ID par le nom de la région où se trouvent vos clusters
  2. Recherchez le nom de votre pipeline (nom du cluster).

  3. Sous cet objet JSON, consultez l'image dans config > softwareConfig > imageVersion.

Passer à la version 2.1 de l'image Dataproc

Les versions 6.9.1 et ultérieures de Cloud Data Fusion sont compatibles avec Compute Engine pour l'image Dataproc 2.1, qui s'exécute sous Java 11. Dans les versions 6.10.0 et ultérieures, l'image 2.1 est l'image par défaut.

Si vous passez à l'image 2.1, vos pipelines de traitement par lot des jobs de réplication, les pilotes JDBC utilisés par la base de données les plug-ins utilisés dans ces instances doivent être compatibles avec Java 11.

L'image Dataproc 2.1 présente les limites suivantes Cloud Data Fusion:

  • Les pilotes IBM Netezza et DB2 11 JDBC ne sont pas compatibles.
  • L'image 2.1 ne fonctionne pas avec les jobs de réduction de carte.
  • Les versions de pilote JDBC utilisées dans les plug-ins de base de données de votre instance doivent être mis à jour pour être compatible avec Java 11. Consultez le tableau suivant pour connaître les versions de pilotes compatibles avec Dataproc 2.1 et Java 11 :
Pilotes JDBC Versions antérieures supprimées de Cloud Data Fusion 6.9.1 Versions compatibles avec Java 8 et Java 11 compatibles avec Dataproc 2.0 ou 2.1
Pilote JDBC Cloud SQL pour MySQL - 1.0.16
Pilote JDBC Cloud SQL pour PostgreSQL - 1.0.16
Pilote JDBC DB2 11 - -
Pilote JDBC Microsoft SQL Server Pilote JDBC Microsoft 6.0 Pilote JDBC Microsoft 9.4
Pilote JDBC MySQL 5.0.8, 5.1.39 8.0.25
Pilote JDBC IBM Netezza - -
Pilote JDBC PostgreSQL 9.4.1211.jre7, 9.4.1211.jre8 42.6.0.jre8
Pilote JDBC Oracle ojdbc7 ojdbc8 (12c et versions ultérieures)

Utilisation de la mémoire lors de l'utilisation de Dataproc 2.1

L'utilisation de la mémoire peut augmenter pour les pipelines qui utilisent Dataproc 2.1 clusters. Si vous mettez à niveau votre instance vers la version 6.10.0 ou une version ultérieure, et que les pipelines précédents échouent en raison de problèmes de mémoire, augmentez le nombre de pilotes de l'exécuteur à 2 048 Mo dans la configuration Resources pour pipeline. Configurez les ressources.

Vous pouvez également remplacer la version de Dataproc en définissant l'argument d'exécution system.profile.properties.imageVersion sur 2.0-debian10.