Présentation
Une fois les clusters Dataproc supprimés, les utilisateurs souhaitent souvent afficher les fichiers d'historique des tâches à des fins de diagnostic ou autres. Le serveur d'historique persistant Dataproc fournit une interface utilisateur qui permet d'afficher l'historique des tâches exécutées sur des clusters Dataproc actifs et supprimés.
Ce serveur s'exécute sur un cluster Dataproc à nœud unique, stocke les fichiers d'historique des tâches dans Cloud Storage, y accède et accepte les tâches MapReduce, Spark et Pig. Cette fonctionnalité est disponible dans la version en images Dataproc 1.4-debian10 et versions ultérieures.

Configurer des clusters de tâches
Vous devez spécifier l'option suivante et les propriétés de cluster lors de la création d'un cluster de tâches Dataproc qui stockera les journaux de tâches qui pourront être affichées et seront accessibles avec un cluster du serveur d'historique persistant.
--enable-component-gateway
: indicateur obligatoire. Cette option doit être utilisée pour activer la passerelle des composants.dataproc:job.history.to-gcs.enabled
: propriété de cluster requise. Cette propriété doit être définie sur "true" pour activer le stockage de l'historique des tâches dans Cloud Storage.spark:spark.history.fs.logDirectory
etspark:spark.eventLog.dir
: Propriétés de cluster facultatives. Ces options indiquent respectivement l'emplacement d'écriture de l'historique des tâches et des journaux d'événements Spark. Si ces deux options sont utilisées, elles doivent être définies et pointer vers des répertoires situés dans le même bucket.
Exemples de propriétés :
spark:spark.history.fs.logDirectory=gs://bucket-name/directory-name/spark-job-history, spark:spark.eventLog.dir=gs://bucket-name/directory-name/spark-job-history
mapred:mapreduce.jobhistory.intermediate-done-dir
etmapred:mapreduce.jobhistory.done-dir
: propriétés de cluster facultatives Ces indicateurs spécifient l'emplacement de Cloud Storage pour écrire respectivement les fichiers intermédiaires et finaux d'historique des tâches. Si ces deux options sont utilisées, elles doivent être définies et pointer vers des répertoires situés dans le même bucket. L'emplacement intermédiairemapreduce.jobhistory.intermediate-done-dir
correspond à un stockage temporaire. Les fichiers intermédiaires sont déplacés vers l'emplacementmapreduce.jobhistory.done-dir
une fois la tâche MapReduce terminée.
Exemples de propriétés:
mapred:mapreduce.jobhistory.done-dir=gs://bucket-name/directory-name/mapreduce-job-history/done, mapred:mapreduce.jobhistory.intermediate-done-dir=gs://bucket-name/directory-name/mapreduce-job-history/intermediate-done
- Exécutez la commande
gcloud dataproc clusters create
pour créer un cluster de tâches. Le cluster doit être créé avec l'image 1.4-debian10 ou ultérieure. Remarque: Pour des raisons de lisibilité, les valeurs de l'option--property
sont affichées ci-dessous sur des lignes distinctes. Lorsque vous exécutez la commande, toutes les valeurs d'options--property
séparées par une virgule doivent être spécifiées sur une ligne.gcloud dataproc clusters create cluster-name \ --region=region \ --image-version=1.4-debian10 \ --enable-component-gateway \ --properties='dataproc:job.history.to-gcs.enabled=true, spark:spark.history.fs.logDirectory=gs://bucket-name/directory-name/spark-job-history, spark:spark.eventLog.dir=gs://bucket-name/directory/spark-job-history, mapred:mapreduce.jobhistory.done-dir=gs://bucket-name/directory/mapreduce-job-history/done, mapred:mapreduce.jobhistory.intermediate-done-dir=gs://bucket-name/directory-name/mapreduce-job-history/intermediate-done'
gcloud dataproc clusters create cluster-name \ --region=region \ --image-version=1.4-debian10 \ --enable-component-gateway \ --properties='dataproc:job.history.to-gcs.enabled=true'
Si vous exécutez la commande simplifiée illustrée ci-dessus, les fichiers d'historique des tâches seront enregistrés dans le bucket temporaire Dataproc des répertoires par défaut : /spark-job-history
, /mapreduce-job-history/done
, et /mapreduce-job-history/intermediate-done
.
L'emplacement Cloud Storage du bucket temporaire est répertorié dans le résultat de la commande gcloud dataproc clusters describe cluster-name --region=region
. L'emplacement Cloud Storage des fichiers de l'historique des tâches est également répertorié dans les fichiers /etc/spark/conf/spark-defaults.conf
et /etc/hadoop/conf/mapred-site.xml
du cluster.
Exemples après la connexion SSH au nœud maître du cluster de tâches :
cat /etc/spark/conf/spark-defaults.conf ... spark.history.fs.logDirectory=gs://temp-bucket/spark-job-history spark.eventLog.dir=gs://temp-bucket/spark-job-history
cat /etc/hadoop/conf/mapred-site.xml ... <property> <name>mapreduce.jobhistory.done-dir</name> <value>gs://temp-bucket/mapreduce-job-history/done</value> </property> <property> <name>mapreduce.jobhistory.intermediate-done-dir</name> <value>gs://temp-bucket/mapreduce-job-history/done_intermediate</value> </property>
Configurer un serveur d'historique persistant
Vous devez spécifier l'option suivante et les propriétés de cluster lors de la création d'un cluster à nœud unique du serveur d'historique persistant :
--enable-component-gateway
: indicateur obligatoire. Cette option doit être utilisée pour activer la passerelle des composants.spark:spark.history.fs.logDirectory
: propriété de cluster obligatoire pour activer l'historique des tâches Spark persistantes. Cette propriété spécifie le bucket et les répertoires Cloud Storage où le serveur d'historique persistant accède aux journaux de l'historique des tâches Spark écrits par les clusters de tâches (consultez la section Configurer des clusters de tâches). Au lieu de spécifier des répertoires de buckets spécifiques, utilisez des astérisques comme caractères génériques (par exemple,gs://bucket-name/*/spark-job-history
) pour permettre au serveur d'historique persistant de faire correspondre plusieurs répertoires du bucket spécifié et écrits par différents clusters de tâches (mais consultez la section Considérations d'efficacité : utiliser des caractères génériques à mi-chemin).mapred:mapreduce.jobhistory.read-only.dir-pattern
: propriété de cluster obligatoire pour activer l'historique des tâches MapReduce persistantes. Cette propriété spécifie le bucket et les répertoires Cloud Storage où le serveur d'historique persistant accède aux journaux de l'historique des tâches MapReduce écrits par les clusters de tâches (consultez la section Configurer des clusters de tâches). Au lieu de spécifier des répertoires de buckets spécifiques, utilisez des astérisques comme caractères génériques (par exemple,gs://bucket-name/*/mapreduce-job-history/done
) pour permettre au serveur d'historique persistant de faire correspondre plusieurs répertoires du bucket spécifié et écrits par différents clusters de tâches (mais consultez la section Considérations d'efficacité : utiliser des caractères génériques à mi-chemin).
- Exécutez la commande
gcloud dataproc clusters create
pour créer un cluster de serveur d'historique persistant Dataproc à nœud unique.gcloud dataproc clusters create cluster-name \ --single-node \ --region=region \ --image-version=1.4-debian10 \ --enable-component-gateway \ --properties='spark:spark.history.fs.logDirectory=gs://bucket-name/*/spark-job-history,mapred:mapreduce.jobhistory.done-dir=gs://bucket-name/*/mapreduce-job-history/done'
Afficher les fichiers d'historique des tâches
Accédez à la page Informations sur le cluster du serveur d'historique persistant à nœud unique dans Cloud Console, puis cliquez sur l'onglet "INTERFACES WEB".
Cliquez sur "Historique de tâches MapReduce" ou "Serveur d'historique Spark" pour afficher les interfaces utilisateur de l'historique des tâches MapReduce et Spark.
Exemple :
La capture d'écran suivante montre l'interface utilisateur du serveur d'historique persistant affichant des liens vers les tâches Spark exécutées sur les job-cluster-1 et job-cluster-2 après la configuration de
spark.history.fs.logDirectory
etspark:spark.eventLog.dir
des clusters de tâches et des emplacementsspark.history.fs.logDirectory
du cluster du serveur d'historique persistant de la manière suivante :job-cluster-1 gs://example-cloud-storage-bucket/job-cluster-1/spark-job-history job-cluster-2 gs://example-cloud-storage-bucket/job-cluster-2/spark-job-history phs-cluster gs://example-cloud-storage-bucket/*/spark-job-history