Présentation
Une ressource Dataproc NodeGroup
est un groupe de composants
les nœuds de cluster qui exécutent un rôle attribué. Cette page décrit le groupe de nœuds de pilote, qui est un groupe de VM Compute Engine auxquelles le rôle Driver
est attribué dans le but d'exécuter des pilotes de tâches sur le cluster Dataproc.
Quand utiliser les groupes de nœuds de pilote ?
- N'utilisez des groupes de nœuds de pilote que lorsque vous devez exécuter de nombreuses tâches simultanées sur un cluster partagé.
- Augmentez les ressources du nœud maître avant d'utiliser des groupes de nœuds de pilote pour éviter les limites des groupes de nœuds de pilote.
Comment les nœuds de pilote vous aident à exécuter des tâches simultanées
Dataproc lance un processus de pilote de tâches sur Dataproc
le nœud maître du cluster pour chaque tâche. Le processus du pilote, à son tour,
exécute un pilote d'application, tel que spark-submit
, en tant que processus enfant.
Toutefois, le nombre de jobs simultanés exécutés sur l'instance maître est limité par
ressources disponibles sur le nœud maître, et comme le nœud maître Dataproc
les nœuds ne peuvent pas faire l'objet d'un scaling, une tâche peut échouer ou être limitée lorsque les ressources du nœud maître
ne suffisent pas à exécuter un job.
Les groupes de nœuds de pilote sont des groupes de nœuds spéciaux gérés par YARN. La simultanéité des jobs n'est pas limitée par les ressources du nœud maître. Dans les clusters avec un groupe de nœuds de pilotes, les pilotes d'application s'exécutent sur les nœuds de pilotes. Chaque nœud de pilote peut exécuter plusieurs pilotes d'application si le nœud dispose de ressources suffisantes.
Avantages
Utiliser un cluster Dataproc avec un nœud de pilote vous permet de:
- Effectuer un scaling horizontal des ressources des pilotes de tâches pour exécuter plus de jobs simultanés
- Effectuer le scaling des ressources de pilote séparément des ressources de nœuds de calcul
- Image permettant un scaling à la baisse plus rapide sur Dataproc 2.0 et versions ultérieures
clusters. Sur ces clusters, le maître d'application s'exécute dans un pilote Spark dans un
groupe de nœuds de pilote (le
spark.yarn.unmanagedAM.enabled
est défini surtrue
par défaut). - Personnalisez le démarrage du nœud de pilote. Vous pouvez ajouter
{ROLE} == 'Driver'
dans un script d'initialisation pour que le script effectue des actions pour un groupe de nœuds de pilote lors de la sélection de nœuds.
Limites
- Les groupes de nœuds ne sont pas compatibles avec Modèles de workflow Dataproc.
- Les clusters de groupes de nœuds ne peuvent pas être arrêtés, redémarrés ni adaptés à l'autoscaling.
- Le maître de l'application MapReduce s'exécute sur les nœuds de calcul. La réduction de la taille des nœuds de calcul peut être lente si vous activez le décommissionnement correct.
- La simultanéité du job est affectée par
dataproc:agent.process.threads.job.max
propriété de cluster. Par exemple, avec trois maîtres et cette propriété définie sur la valeur par défaut Valeur de100
, la simultanéité maximale de tâches au niveau du cluster est de300
.
Groupe de nœuds de pilote et mode de cluster Spark
Caractéristique | Mode du cluster Spark | Groupe de nœuds du pilote |
---|---|---|
Réduction du nombre de nœuds de calcul | Les pilotes de longue durée s'exécutent sur les mêmes nœuds de calcul que les conteneurs à courte durée de vie. ce qui ralentit le scaling à la baisse des nœuds de calcul à l'aide de la mise hors service concertée. | Les nœuds de calcul effectuent un scaling à la baisse plus rapide lorsque les pilotes s'exécutent sur des groupes de nœuds. |
Sortie du pilote diffusé en continu | Nécessite une recherche dans les journaux YARN pour trouver le nœud sur lequel le pilote a été planifié. | Les résultats du pilote sont transmis à Cloud Storage et visibles
dans la console Google Cloud et dans la commande gcloud dataproc jobs wait
une fois la tâche terminée. |
Autorisations IAM du groupe de nœuds de pilote
Les autorisations IAM suivantes sont associées à l'instance Dataproc les actions liées aux groupes de nœuds.
Autorisation | Action |
---|---|
dataproc.nodeGroups.create
|
Créez des groupes de nœuds Dataproc. Si un utilisateur a
dataproc.clusters.create dans le projet, cette autorisation est
accordé. |
dataproc.nodeGroups.get |
Obtenez les détails d'un groupe de nœuds Dataproc. |
dataproc.nodeGroups.update |
Redimensionnez un groupe de nœuds Dataproc. |
Opérations sur les groupes de nœuds du pilote
Vous pouvez utiliser la gcloud CLI et l'API Dataproc pour créer, obtenir, redimensionner, supprimer et envoyer un job à un groupe de nœuds de pilote Dataproc.
Créer un cluster de groupe de nœuds de pilote
Un groupe de nœuds de pilote est associé à un cluster Dataproc. Vous créez un groupe de nœuds créer un cluster Dataproc. Vous pouvez utiliser gcloud CLI ou l'API REST Dataproc pour créer un cluster Dataproc avec un groupe de nœuds de pilote ;
gcloud
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --driver-pool-size=SIZE \ --driver-pool-id=NODE_GROUP_ID
Indicateurs requis:
- CLUSTER_NAME: nom du cluster, qui doit être unique au sein d'un projet. Le nom doit commencer par une lettre minuscule et peut contenir jusqu'à 51 caractères minuscules. lettres, chiffres et traits d'union. Il ne doit pas se terminer par un trait d'union. Le nom d'un le cluster supprimé peut être réutilisé.
- REGION : région dans laquelle se trouvera le cluster.
- SIZE: nombre de nœuds de pilote dans le groupe de nœuds. Le nombre de nœuds dépendent de la charge du job et du type de machine du pool de pilotes. Le nombre d'minimum Le nombre de nœuds du groupe de pilotes correspond à la mémoire totale ou aux vCPU requis par les pilotes de tâche divisé par la mémoire de machine ou les vCPU de chaque pool de pilotes.
- NODE_GROUP_ID: facultatif et recommandé. L'ID doit être unique dans le cluster. Utilisez cet ID pour identifier le groupe de conducteurs à l'avenir des opérations, comme le redimensionnement du groupe de nœuds. Si aucune valeur n'est spécifiée, Dataproc génère l'ID du groupe de nœuds.
Indicateur recommandé:
--enable-component-gateway
: ajoutez cet indicateur pour activer le La passerelle des composants Dataproc, qui permet d'accéder à l'interface Web YARN. Les pages d'application et de programmeur de l'interface utilisateur YARN affichent l'état du cluster et du job. la mémoire de file d'attente de l'application, la capacité de base et d'autres métriques.
Indicateurs supplémentaires:les indicateurs driver-pool
facultatifs suivants peuvent être ajoutés.
à la commande gcloud dataproc clusters create
pour personnaliser le groupe de nœuds.
Option | Valeur par défaut |
---|---|
--driver-pool-id |
Identifiant de chaîne, généré par le service s'il n'est pas défini par le paramètre . Cet ID permet d'identifier le groupe de nœuds lors de futures des opérations de pool de nœuds, comme le redimensionnement du groupe de nœuds. |
--driver-pool-machine-type |
n1-standard-4 |
--driver-pool-accelerator |
Aucune valeur par défaut Lorsque vous spécifiez un accélérateur, le type de GPU est obligatoire, tandis que le nombre de GPU est facultatif. |
--num-driver-pool-local-ssds |
Aucune valeur par défaut |
--driver-pool-local-ssd-interface |
Aucune valeur par défaut |
--driver-pool-boot-disk-type |
pd-standard |
--driver-pool-boot-disk-size |
1000 GB |
--driver-pool-min-cpu-platform |
AUTOMATIC |
REST
Suivez une
AuxiliaryNodeGroup
dans le cadre d'une API Dataproc
cluster.create
requête.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : valeur obligatoire. ID de projet Google Cloud
- REGION : valeur obligatoire. Région du cluster Dataproc.
- CLUSTER_NAME : valeur obligatoire. Le nom du cluster, qui doit être unique au sein d'un projet. Le nom doit commencer par une lettre minuscule et peut contenir jusqu'à 51 lettres minuscules, chiffres et traits d'union. Il ne peut pas se terminer par un trait d'union. Le nom d'un cluster supprimé peut être réutilisé.
- SIZE : valeur obligatoire. Nombre de nœuds dans le groupe de nœuds.
- NODE_GROUP_ID: Facultatif et recommandé. L'ID doit être unique au sein du cluster. Utilisez cet ID pour identifier le groupe de pilotes lors de futures opérations, telles que le redimensionnement du groupe de nœuds. Si elle n'est pas spécifiée, Dataproc génère l'ID de groupe de nœuds.
Options supplémentaires:consultez les NodeGroup.
Méthode HTTP et URL :
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION/clusters
Corps JSON de la requête :
{ "clusterName":"CLUSTER_NAME", "config": { "softwareConfig": { "imageVersion":"" }, "endpointConfig": { "enableHttpPortAccess": true }, "auxiliaryNodeGroups": [{ "nodeGroup":{ "roles":["DRIVER"], "nodeGroupConfig": { "numInstances": SIZE } }, "nodeGroupId": "NODE_GROUP_ID" }] } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "projectId": "PROJECT_ID", "clusterName": "CLUSTER_NAME", "config": { ... "auxiliaryNodeGroups": [ { "nodeGroup": { "name": "projects/PROJECT_ID/regions/REGION/clusters/CLUSTER_NAME/nodeGroups/NODE_GROUP_ID", "roles": [ "DRIVER" ], "nodeGroupConfig": { "numInstances": SIZE, "instanceNames": [ "CLUSTER_NAME-np-q1gp", "CLUSTER_NAME-np-xfc0" ], "imageUri": "https://www.googleapis.com/compute/v1/projects/cloud-dataproc-ci/global/images/dataproc-2-0-deb10-...-rc01", "machineTypeUri": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/REGION-a/machineTypes/n1-standard-4", "diskConfig": { "bootDiskSizeGb": 1000, "bootDiskType": "pd-standard" }, "managedGroupConfig": { "instanceTemplateName": "dataproc-2a8224d2-...", "instanceGroupManagerName": "dataproc-2a8224d2-..." }, "minCpuPlatform": "AUTOMATIC", "preemptibility": "NON_PREEMPTIBLE" } }, "nodeGroupId": "NODE_GROUP_ID" } ] }, }
Obtenir les métadonnées du cluster du groupe de nœuds du pilote
Vous pouvez utiliser la commande gcloud dataproc node-groups describe ou l'API Dataproc pour obtenir les métadonnées du groupe de nœuds du pilote.
gcloud
gcloud dataproc node-groups describe NODE_GROUP_ID \ --cluster=CLUSTER_NAME \ --region=REGION
Indicateurs requis:
- NODE_GROUP_ID : vous pouvez exécuter
gcloud dataproc clusters describe CLUSTER_NAME
pour afficher l'ID du groupe de nœuds. - CLUSTER_NAME: nom du cluster.
- REGION: région du cluster
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : valeur obligatoire. ID de projet Google Cloud
- REGION : valeur obligatoire. Région du cluster.
- CLUSTER_NAME : valeur obligatoire. Nom du cluster.
- NODE_GROUP_ID : valeur obligatoire. Vous pouvez exécuter
gcloud dataproc clusters describe CLUSTER_NAME
pour afficher l'ID du groupe de nœuds.
Méthode HTTP et URL :
GET https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION/clusters/CLUSTER_NAMEnodeGroups/Node_GROUP_ID
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_ID/regions/REGION/clusters/CLUSTER_NAME/nodeGroups/NODE_GROUP_ID", "roles": [ "DRIVER" ], "nodeGroupConfig": { "numInstances": 5, "imageUri": "https://www.googleapis.com/compute/v1/projects/cloud-dataproc-ci/global/images/dataproc-2-0-deb10-...-rc01", "machineTypeUri": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/REGION-a/machineTypes/n1-standard-4", "diskConfig": { "bootDiskSizeGb": 1000, "bootDiskType": "pd-standard" }, "managedGroupConfig": { "instanceTemplateName": "dataproc-driver-pool-mcia3j656h2fy", "instanceGroupManagerName": "dataproc-driver-pool-mcia3j656h2fy" }, "minCpuPlatform": "AUTOMATIC", "preemptibility": "NON_PREEMPTIBLE" } }
Redimensionner un groupe de nœuds de pilote
Vous pouvez utiliser gcloud dataproc node-groupssizing ou l'API Dataproc pour ajouter ou supprimer des nœuds de pilote dans un groupe de nœuds de pilote de cluster.
gcloud
gcloud dataproc node-groups resize NODE_GROUP_ID \ --cluster=CLUSTER_NAME \ --region=REGION \ --size=SIZE
Indicateurs requis:
- NODE_GROUP_ID : vous pouvez exécuter
gcloud dataproc clusters describe CLUSTER_NAME
pour afficher l'ID du groupe de nœuds. - CLUSTER_NAME: nom du cluster.
- REGION: région du cluster
- SIZE : spécifiez le nouveau nombre de nœuds de pilote dans le groupe de nœuds.
Indicateur facultatif:
--graceful-decommission-timeout=TIMEOUT_DURATION
: Lors du scaling à la baisse d'un groupe de nœuds, vous pouvez ajouter cette option pour spécifier mise hors service concertée TIMEOUT_DURATION pour éviter le licenciement immédiat des chauffeurs. Recommandation : Définissez une durée de délai avant expiration au moins égale à la durée de la tâche la plus longue exécutée sur le groupe de nœuds (la récupération des pilotes défaillants n'est pas prise en charge).
Exemple: Commande gcloud CLI NodeGroup
scale up:
gcloud dataproc node-groups resize NODE_GROUP_ID \ --cluster=CLUSTER_NAME \ --region=REGION \ --size=4
Exemple : Commande de réduction de l'échelle NodeGroup
de la gcloud CLI :
gcloud dataproc node-groups resize NODE_GROUP_ID \ --cluster=CLUSTER_NAME \ --region=REGION \ --size=1 \ --graceful-decommission-timeout="100s"
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : valeur obligatoire. ID de projet Google Cloud
- REGION : valeur obligatoire. Région du cluster.
- NODE_GROUP_ID : valeur obligatoire. Vous pouvez exécuter
gcloud dataproc clusters describe CLUSTER_NAME
pour afficher l'ID du groupe de nœuds. - SIZE : valeur obligatoire. Nouveau nombre de nœuds dans le groupe de nœuds.
- TIMEOUT_DURATION : facultatif. Lors du scaling à la baisse d'un groupe de nœuds,
vous pouvez ajouter
gracefulDecommissionTimeout
au corps de la requête pour éviter la cessation immédiate des chauffeurs. Recommandation:Définissez un délai avant expiration d'au moins égale à la durée du job le plus long exécuté sur le groupe de nœuds (récupération des pilotes défaillants n'est pas pris en charge).Exemple :
{ "size": SIZE, "gracefulDecommissionTimeout": "TIMEOUT_DURATION" }
Méthode HTTP et URL :
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION/clusters/CLUSTER_NAME/nodeGroups/Node_GROUP_ID:resize
Corps JSON de la requête :
{ "size": SIZE, }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_ID/regions/REGION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.dataproc.v1.NodeGroupOperationMetadata", "nodeGroupId": "NODE_GROUP_ID", "clusterUuid": "CLUSTER_UUID", "status": { "state": "PENDING", "innerState": "PENDING", "stateStartTime": "2022-12-01T23:34:53.064308Z" }, "operationType": "RESIZE", "description": "Scale "up or "down" a GCE node pool to SIZE nodes." } }
Supprimer un cluster de groupe de nœuds de pilote
Lorsque vous supprimez un cluster Dataproc, les groupes de nœuds qui lui sont associés sont supprimés.
Envoyer une tâche
Vous pouvez utiliser la commande gcloud dataproc jobs submit ou l'API Dataproc pour envoyer un job à un cluster avec un groupe de nœuds de pilote.
gcloud
gcloud dataproc jobs submit JOB_COMMAND \ --cluster=CLUSTER_NAME \ --region=REGION \ --driver-required-memory-mb=DRIVER_MEMORY \ --driver-required-vcores=DRIVER_VCORES \ DATAPROC_FLAGS \ -- JOB_ARGS
Indicateurs requis:
- JOB_COMMAND: spécifiez le paramètre job.
- CLUSTER_NAME: nom du cluster.
- DRIVER_MEMORY : quantité de mémoire des pilotes de tâche en Mo nécessaire pour exécuter une tâche (voir la section Commandes de mémoire Yarn).
- DRIVER_VCORES : nombre de processeurs virtuels nécessaires pour exécuter une tâche.
Indicateurs supplémentaires:
- DATAPROC_FLAGS: ajoutez gcloud dataproc jobs submit options liées au type de tâche.
- JOB_ARGS : ajoutez des arguments (après
--
) à transmettre à la tâche.
Exemples:vous pouvez exécuter les exemples suivants à partir d'un Session de terminal SSH sur un cluster de groupe de nœuds de pilote Dataproc.
Job Spark pour estimer la valeur de
pi
:gcloud dataproc jobs submit spark \ --cluster=CLUSTER_NAME \ --region=REGION \ --driver-required-memory-mb=2048 \ --driver-required-vcores=2 \ --class=org.apache.spark.examples.SparkPi \ --jars=file:///usr/lib/spark/examples/jars/spark-examples.jar \ -- 1000
Job Spark de décompte de mots:
gcloud dataproc jobs submit spark \ --cluster=CLUSTER_NAME \ --region=REGION \ --driver-required-memory-mb=2048 \ --driver-required-vcores=2 \ --class=org.apache.spark.examples.JavaWordCount \ --jars=file:///usr/lib/spark/examples/jars/spark-examples.jar \ -- 'gs://apache-beam-samples/shakespeare/macbeth.txt'
Job PySpark pour estimer la valeur de
pi
:gcloud dataproc jobs submit pyspark \ file:///usr/lib/spark/examples/src/main/python/pi.py \ --cluster=CLUSTER_NAME \ --region=REGION \ --driver-required-memory-mb=2048 \ --driver-required-vcores=2 \ -- 1000
Tâche MapReduce Hadoop TeraGen:
gcloud dataproc jobs submit hadoop \ --cluster=CLUSTER_NAME \ --region=REGION \ --driver-required-memory-mb=2048 \ --driver-required-vcores=2 \ --jar file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar \ -- teragen 1000 \ hdfs:///gen1/test
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : valeur obligatoire. ID de projet Google Cloud
- REGION : valeur obligatoire. Région du cluster Dataproc
- CLUSTER_NAME : valeur obligatoire. Le nom du cluster, qui doit être unique au sein d'un projet. Le nom doit commencer par une lettre minuscule et peut contenir jusqu'à 51 lettres minuscules, chiffres et traits d'union. Il ne peut pas se terminer par un trait d'union. Le nom d'un cluster supprimé peut être réutilisé.
- DRIVER_MEMORY : valeur obligatoire. Quantité de mémoire des pilotes de tâches en Mo nécessaires à l'exécution d'un job (voir Commandes de mémoire Yarn).
- DRIVER_VCORES : valeur obligatoire. Nombre de processeurs virtuels nécessaires pour exécuter un job.
pi
).
Méthode HTTP et URL :
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION/jobs:submit
Corps JSON de la requête :
{ "job": { "placement": { "clusterName": "CLUSTER_NAME", }, "driverSchedulingConfig": { "memoryMb]": DRIVER_MEMORY, "vcores": DRIVER_VCORES }, "sparkJob": { "jarFileUris": "file:///usr/lib/spark/examples/jars/spark-examples.jar", "args": [ "10000" ], "mainClass": "org.apache.spark.examples.SparkPi" } } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "reference": { "projectId": "PROJECT_ID", "jobId": "job-id" }, "placement": { "clusterName": "CLUSTER_NAME", "clusterUuid": "cluster-Uuid" }, "sparkJob": { "mainClass": "org.apache.spark.examples.SparkPi", "args": [ "1000" ], "jarFileUris": [ "file:///usr/lib/spark/examples/jars/spark-examples.jar" ] }, "status": { "state": "PENDING", "stateStartTime": "start-time" }, "jobUuid": "job-Uuid" }
Afficher les journaux de jobs
Pour afficher l'état d'un job et faciliter son débogage, vous pouvez consulter les journaux de pilote via la gcloud CLI ou la console Google Cloud.
gcloud
Les journaux des pilotes de jobs sont transmis à la sortie de la gcloud CLI. console Google Cloud pendant l'exécution du job. Les journaux des pilotes persistent dans un bucket de préproduction de cluster Dataproc dans Cloud Storage.
Exécutez la commande gcloud CLI suivante pour afficher l'emplacement des journaux des pilotes dans Cloud Storage :
gcloud dataproc jobs describe JOB_ID \ --region=REGION
L'emplacement Cloud Storage des journaux de pilote est indiqué comme
driverOutputResourceUri
dans le résultat de la commande au format suivant:
driverOutputResourceUri: gs://CLUSTER_STAGING_BUCKET/google-cloud-dataproc-metainfo/CLUSTER_UUID/jobs/JOB_ID
Console
Pour afficher les journaux du cluster d'un groupe de nœuds, procédez comme suit:
Vous pouvez utiliser la requête suivante de l'explorateur de journaux : pour rechercher des journaux:
Remplacez les éléments suivants :resource.type="cloud_dataproc_cluster" resource.labels.project_id="PROJECT_ID" resource.labels.cluster_name="CLUSTER_NAME" log_name="projects/PROJECT_ID/logs/LOG_TYPE>"
- PROJECT_ID : ID de projet Google Cloud.
- CLUSTER_NAME : nom du cluster.
- LOG_TYPE :
- Journaux utilisateur Yarn :
yarn-userlogs
- Journaux du gestionnaire de ressources Yarn:
hadoop-yarn-resourcemanager
- Journaux du gestionnaire de nœuds Yarn:
hadoop-yarn-nodemanager
- Journaux utilisateur Yarn :
Surveiller les métriques
Les pilotes de tâches des groupes de nœuds Dataproc s'exécutent dans un
File d'attente enfant dataproc-driverpool-driver-queue
sous une file d'attente dataproc-driverpool
partition.
Métriques du groupe de nœuds du pilote
Le tableau suivant liste les métriques de pilote de groupe de nœuds associées, qui sont collectés par défaut pour les groupes de nœuds de pilote.
Métrique du groupe de nœuds du pilote | Description |
---|---|
yarn:ResourceManager:DriverPoolsQueueMetrics:AvailableMB |
La quantité de mémoire disponible en mébioctets dans
dataproc-driverpool-driver-queue sous
la partition dataproc-driverpool .
|
yarn:ResourceManager:DriverPoolsQueueMetrics:PendingContainers |
Le nombre de conteneurs en attente (en file d'attente) dans
dataproc-driverpool-driver-queue sous
la partition dataproc-driverpool . |
Métriques de la file d'attente enfant
Le tableau suivant répertorie les métriques de la file d'attente enfant. Les métriques sont collectées par défaut pour les groupes de nœuds de pilote, et peut être activé pour la collecte sur n'importe quel cluster Dataproc.
Métrique de la file d'attente enfant | Description |
---|---|
yarn:ResourceManager:ChildQueueMetrics:AvailableMB |
La quantité de mémoire disponible en mébioctets dans cette file d'attente sous le partition par défaut. |
yarn:ResourceManager:ChildQueueMetrics:PendingContainers |
Nombre de conteneurs en attente (en file d'attente) dans cette file d'attente sous la valeur par défaut partition. |
yarn:ResourceManager:ChildQueueMetrics:running_0 |
Nombre de jobs dont la durée d'exécution est comprise entre 0 et 60 minutes
de cette file d'attente sous toutes les partitions. |
yarn:ResourceManager:ChildQueueMetrics:running_60 |
Nombre de jobs dont la durée d'exécution est comprise entre 60 et 300 minutes
de cette file d'attente sous toutes les partitions. |
yarn:ResourceManager:ChildQueueMetrics:running_300 |
Nombre de jobs dont la durée d'exécution est comprise entre 300 et 1440 minutes
de cette file d'attente sous toutes les partitions. |
yarn:ResourceManager:ChildQueueMetrics:running_1440 |
Nombre de jobs avec un temps d'exécution supérieur à 1440 minutes
de cette file d'attente sous toutes les partitions. |
yarn:ResourceManager:ChildQueueMetrics:AppsSubmitted |
Nombre de candidatures envoyées à cette file d'attente, toutes partitions confondues. |
Pour afficher YARN ChildQueueMetrics
et DriverPoolsQueueMetrics
dans
Console Google Cloud:
- Sélectionnez Instance de VM → Ressources personnalisées dans le Explorateur de métriques :
Débogage du pilote de tâches du groupe de nœuds
Cette section fournit les conditions et les erreurs des groupes de nœuds de pilote avec des recommandations pour corriger l'état ou l'erreur.
Conditions
État:
yarn:ResourceManager:DriverPoolsQueueMetrics:AvailableMB
est proche de0
. Cela indique que la file d'attente des pools de pilotes de cluster à court de mémoire.Recommandation : Augmentez la taille du pool de pilotes.
État:
yarn:ResourceManager:DriverPoolsQueueMetrics:PendingContainers
est supérieure à 0. Cela peut indiquer que la file d'attente des pools de pilotes de cluster est à court de mémoire et que YARN met en file d'attente des tâches.Recommandation : Augmentez la taille du pool de pilotes.
Erreurs
Erreur :
Cluster <var>CLUSTER_NAME</var> requires driver scheduling config to run SPARK job because it contains a node pool with role DRIVER. Positive values are required for all driver scheduling config values.
Recommandation : Définissez
driver-required-memory-mb
etdriver-required-vcores
avec des nombres positifs.Erreur :
Container exited with a non-zero exit code 137
.Recommandation:Augmentez
driver-required-memory-mb
pour l'utilisation de la mémoire du job.