Cette page explique comment modifier la version de l'image Dataproc utilisée par votre instance Cloud Data Fusion. Vous pouvez modifier l'image au niveau de l'instance, de l'espace de noms ou du pipeline.
Avant de commencer
Arrêtez tous les pipelines et tous les jobs de réplication en temps réel dans l'instance Cloud Data Fusion. Si un pipeline ou une réplication en temps réel est en cours d'exécution lorsque vous modifiez la version de l'image Dataproc, les modifications ne sont pas appliquées à l'exécution du pipeline.
Pour les pipelines en temps réel, si la gestion des points de contrôle est activée, l'arrêt des pipelines n'entraîne aucune perte de données. Pour les tâches de réplication, tant que les journaux de la base de données sont disponibles, l'arrêt et le démarrage de la tâche de réplication n'entraînent pas de perte de données.
Console
Accédez à la page Instances de Cloud Data Fusion (dans CDAP, cliquez sur Afficher les instances) et ouvrez l'instance dans laquelle vous devez arrêter un pipeline.
Ouvrez chaque pipeline en temps réel dans Pipeline Studio et cliquez sur Stop (Arrêter).
Ouvrez chaque tâche de réplication sur la page Répliquer, puis cliquez sur 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 espace de noms et PIPELINE_NAME par le nom du pipeline 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 par le nom de la tâche de réplication.
Pour en savoir plus, consultez les sections Arrêter les pipelines en temps réel et Arrêter les tâches de réplication.
Vérifier et remplacer la version par défaut de Dataproc dans Cloud Data Fusion
Cliquez sur System Admin > Configuration > System Preferences (Administrateur système > Configuration > Préférences système).
Si aucune image Dataproc n'est spécifiée dans les préférences système, ou si vous souhaitez modifier la préférence, cliquez sur Edit System Preferences (Modifier les préférences système).
Saisissez le texte suivant dans le champ Key (Clé) :
system.profile.properties.imageVersion
Saisissez l'image Dataproc choisie dans le champ de valeur, par exemple
2.1
.Cliquez sur Enregistrer et fermer.
Cette modification affecte l'ensemble de l'instance Cloud Data Fusion, y compris tous ses espaces de noms et exécutions de pipeline, sauf si la propriété de la version de l'image est remplacée 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 les configurations de calcul, les préférences d'espace de noms ou les arguments d'exécution du pipeline.
Modifier l'image dans les préférences d'espace de noms
Si vous avez remplacé la version de l'image dans les propriétés de votre espace de noms, procédez comme suit:
Cliquez sur Administrateur système > Configuration > Espaces de noms.
Ouvrez chaque espace de noms, puis cliquez sur Preferences (Préférences).
Assurez-vous qu'il n'y a pas de remplacement avec la clé
system.profile.properties.imageVersion
avec une valeur de version d'image incorrecte.Cliquez sur Terminer.
Modifier l'image dans les profils de calcul du système
Cliquez sur Administrateur système > Configuration.
Cliquez sur Profils de calcul système > Créer un profil.
Sélectionnez l'approvisionneur Dataproc.
Créez le profil pour Dataproc. Dans le champ Version d'image, saisissez une version d'image Dataproc.
Sélectionnez ce profil de calcul lors de l'exécution du pipeline sur la page Studio. Sur la page d'exécution du pipeline, cliquez sur Configure> Compute config (Configurer > Configuration de Compute) et sélectionnez ce profil.
Sélectionnez le profil Dataproc et cliquez sur Enregistrer.
Cliquez sur Terminer.
Modifier l'image dans les arguments de l'environnement d'exécution du pipeline
Si vous avez remplacé la version de l'image par une propriété dans les arguments d'exécution de votre pipeline, procédez comme suit:
Cliquez sur > Liste.
MenuSur la page Liste, sélectionnez le pipeline que vous souhaitez mettre à jour.
Le pipeline s'ouvre sur la page Studio.
Pour développer les options Run (Exécuter), cliquez sur la flèche de développement
.La fenêtre Runtime Arguments (Arguments d'exécution) s'ouvre.
Vérifiez qu'il n'existe pas de remplacement avec la clé
system.profile.properties.imageVersion
avec une version d'image incorrecte comme valeur.Cliquez sur Enregistrer.
Recréer des 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 le guide Dataproc pour recréer les clusters avec la version d'image Dataproc choisie pour votre version de Cloud Data Fusion.
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 du cluster Dataproc mis à jour. De cette façon, l'exécution des pipelines de traitement par lot peut se terminer sur le cluster existant et les exécutions suivantes du pipeline ont lieu sur le nouveau cluster Dataproc. Vous pouvez supprimer l'ancien cluster Dataproc après avoir vérifié que toutes les exécutions du pipeline sont terminées.
Vérifier que la version de l'image Dataproc est à jour
Console
Dans la console Google Cloud, accédez à la page Dataproc Clusters.
Ouvrez la page Détails du cluster du nouveau cluster que Cloud Data Fusion a créé 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
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 dans laquelle se trouvent vos clusters ;
Recherchez le nom de votre pipeline (nom du cluster).
Sous cet objet JSON, consultez l'image dans
config > softwareConfig > imageVersion
.
Remplacer l'image Dataproc par la version 2.1
Les versions 6.9.1 et ultérieures de Cloud Data Fusion sont compatibles avec l'image Dataproc 2.1 Compute Engine, qui s'exécute en 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, les pilotes JDBC utilisés par les plug-ins de base de données dans ces instances doivent être compatibles avec Java 11 pour que vos pipelines de traitement par lot et vos tâches de réplication aboutissent.
L'image Dataproc 2.1 présente les limites suivantes dans Cloud Data Fusion:
- Les pilotes IBM Netezza et DB2 11 JDBC ne sont pas compatibles.
- L'image 2.1 ne fonctionne pas avec les tâches de réduction de la carte.
- Les versions de pilotes JDBC utilisées dans les plug-ins de base de données de votre instance doivent être mises à jour pour être compatibles 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 qui fonctionnent 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 Microsoft JDBC 6.0 | Pilote JDBC Microsoft 9.4 |
Pilote JDBC MySQL | 5.0.8 et 5.1.39 | 8.0.25 |
Pilote IBM Netezza JDBC | - | - |
Pilote JDBC PostgreSQL | 9.4.1211.jre7, 9.4.1211.jre8 | 42.6.0.jre8 |
Pilote Oracle JDBC | ojdbc7 | ojdbc8 (version 12c et ultérieure) |
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 des clusters Dataproc 2.1. 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 la mémoire du pilote et de l'exécuteur à 2 048 Mo dans la configuration Resources
du pipeline.
Vous pouvez également remplacer la version de Dataproc en définissant l'argument d'exécution system.profile.properties.imageVersion
sur 2.0-debian10
.