Panoramica
Una risorsa NodeGroup
Dataproc è un gruppo di nodi del cluster Dataproc che eseguono un ruolo assegnato. Questa pagina descrive il
gruppo di nodi del driver, ovvero un gruppo di VM Compute Engine a cui è stato assegnato il ruolo Driver
allo scopo di eseguire i driver di job sul
cluster Dataproc.
Quando utilizzare i gruppi di nodi del driver
- Utilizza i gruppi di nodi del driver solo quando devi eseguire molti job contemporaneamente su un cluster condiviso.
- Aumenta le risorse del nodo principale prima di utilizzare i gruppi di nodi driver per evitare le limitazioni dei gruppi di nodi driver.
In che modo i nodi driver ti aiutano a eseguire job concorrenti
Dataproc avvia un processo del driver del job su un nodo master del cluster Dataproc per ogni job. Il processo del driver, a sua volta,
esegue un driver dell'applicazione, ad esempio spark-submit
, come processo secondario.
Tuttavia, il numero di job simultanei in esecuzione sul master è limitato dalle risorse disponibili sul nodo master e, poiché i nodi master Dataproc non possono essere scalati, un job può non riuscire o essere limitato quando le risorse del nodo master non sono sufficienti per eseguirlo.
I gruppi di nodi del driver sono gruppi di nodi speciali gestiti da YARN, pertanto la concorrenza dei job non è limitata dalle risorse del nodo principale. Nei cluster con un gruppo di nodi driver, i driver delle applicazioni vengono eseguiti sui nodi driver. Ogni nodo del driver può eseguire più driver di applicazioni se dispone di risorse sufficienti.
Vantaggi
L'utilizzo di un cluster Dataproc con un gruppo di nodi driver consente di:
- Esegui la scalabilità orizzontale delle risorse del driver di job per eseguire più job simultanei
- Scala le risorse del driver separatamente dalle risorse dei worker
- Ottieni un ridimensionamento più rapido nei cluster di immagini Dataproc 2.0 e versioni successive. In questi cluster, l'app master viene eseguito all'interno di un driver Spark in un gruppo di nodi del driver (
spark.yarn.unmanagedAM.enabled
è impostato sutrue
per impostazione predefinita). - Personalizza l'avvio del nodo del driver. Puoi aggiungere
{ROLE} == 'Driver'
a un script di inizializzazione per fare in modo che lo script esegua azioni per un gruppo di nodi del driver nella selezione dei nodi.
Limitazioni
- I gruppi di nodi non sono supportati nei modelli di flusso di lavoro Dataproc.
- I cluster di gruppi di nodi non possono essere arrestati, riavviati o sottoposti a scalabilità automatica.
- Il master dell'app MapReduce viene eseguito sui nodi worker. Lo fare lo scale down dei nodi worker può essere lento se attivi la rimozione delle autorizzazioni.
- La concorrenza dei job è influenzata dalla
dataproc:agent.process.threads.job.max
proprietà cluster. Ad esempio, con tre master e questa proprietà impostata sul valore predefinito100
, la concorrenza massima dei job a livello di cluster è300
.
Gruppo di nodi del driver rispetto alla modalità cluster Spark
Funzionalità | Modalità cluster Spark | Gruppo di nodi del driver |
---|---|---|
Fare lo scale down dei nodi worker | I driver a lungo termine vengono eseguiti sugli stessi nodi worker dei container a breve termine, rallentando il ridimensionamento dei worker che utilizzano il ritiro graduale. | I nodi worker eseguono fare lo scale down più rapidamente quando i driver vengono eseguiti su gruppi di nodi. |
Output del driver in streaming | Richiede la ricerca nei log YARN per trovare il nodo in cui è stato pianificato il driver. | L'output del driver viene trasmesso in streaming a Cloud Storage ed è visibile
nella console Google Cloud e nell'output del comando gcloud dataproc jobs wait
al termine di un job. |
Autorizzazioni IAM del gruppo di nodi del driver
Le seguenti autorizzazioni IAM sono associate alle seguenti azioni relative ai gruppi di nodi Dataproc.
Autorizzazione | Azione |
---|---|
dataproc.nodeGroups.create
|
Crea gruppi di nodi Dataproc. Se un utente ha
dataproc.clusters.create nel progetto, questa autorizzazione è
concessa. |
dataproc.nodeGroups.get |
Visualizza i dettagli di un gruppo di nodi Dataproc. |
dataproc.nodeGroups.update |
Ridimensiona un gruppo di nodi Dataproc. |
Operazioni del gruppo di nodi del driver
Puoi utilizzare gcloud CLI e l'API Dataproc per creare, recuperare, ridimensionare, eliminare e inviare un job a un gruppo di nodi driver Dataproc.
Crea un cluster di gruppi di nodi del driver
Un gruppo di nodi driver è associato a un cluster Dataproc. Creazione di un gruppo di nodi nell'ambito della creazione di un cluster Dataproc. Puoi utilizzare l'interfaccia a riga di comando gcloud o l'API REST Dataproc per creare un cluster Dataproc con un gruppo di nodi driver.
gcloud
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --driver-pool-size=SIZE \ --driver-pool-id=NODE_GROUP_ID
Flag obbligatori:
- CLUSTER_NAME: il nome del cluster, che deve essere univoco all'interno di un progetto. Il nome deve iniziare con una lettera minuscola e può contenere fino a 51 lettere minuscole, numeri e trattini. Non può terminare con un trattino. Il nome di un cluster eliminato può essere riutilizzato.
- REGION: la regione in cui si troverà il cluster.
- SIZE: il numero di nodi driver nel gruppo di nodi. Il numero di nodi necessari dipende dal carico del job e dal tipo di macchina del pool di driver. Il numero di nodi del gruppo di driver minimi è uguale alla memoria totale o alle vCPU richieste dai driver di job divise per la memoria della macchina o le vCPU di ogni pool di driver.
- NODE_GROUP_ID: facoltativo e consigliato. L'ID deve essere univoco all'interno del cluster. Utilizza questo ID per identificare il gruppo di driver nelle operazioni future, ad esempio per ridimensionare il gruppo di nodi. Se non specificato, Dataproc genera l'ID gruppo di nodi.
Flag consigliato:
--enable-component-gateway
: aggiungi questo flag per attivare il gateway dei componenti Dataproc, che fornisce l'accesso all'interfaccia web di YARN. Le pagine dell'interfaccia utente di YARN Application e Scheduler mostrano lo stato del cluster e dei job, la memoria della coda delle applicazioni, la capacità del core e altre metriche.
Flag aggiuntivi:i seguenti flag driver-pool
facoltativi possono essere aggiunti al comando gcloud dataproc clusters create
per personalizzare il gruppo di nodi.
Bandiera | Valore predefinito |
---|---|
--driver-pool-id |
Un identificatore di stringa, generato dal servizio se non impostato dal flag. Questo ID può essere utilizzato per identificare il gruppo di nodi quando esegui operazioni future pool di nodi, ad esempio la modifica delle dimensioni del gruppo di nodi. |
--driver-pool-machine-type |
n1-standard-4 |
--driver-pool-accelerator |
Nessun valore predefinito. Quando specifichi un acceleratore, il tipo di GPU è obbligatorio; il numero di GPU è facoltativo. |
--num-driver-pool-local-ssds |
Nessuno predefinito |
--driver-pool-local-ssd-interface |
Nessuno predefinito |
--driver-pool-boot-disk-type |
pd-standard |
--driver-pool-boot-disk-size |
1000 GB |
--driver-pool-min-cpu-platform |
AUTOMATIC |
REST
Completa un
AuxiliaryNodeGroup
come parte di una richiesta
cluster.create
dell'API Dataproc.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: obbligatorio. ID progetto Google Cloud.
- REGION: obbligatorio. Regione del cluster Dataproc.
- CLUSTER_NAME: obbligatorio. Il nome del cluster, che deve essere univoco all'interno di un progetto. Il nome deve iniziare con una lettera minuscola e può contenere fino a 51 lettere minuscole, numeri e trattini. Non può terminare con un trattino. Il nome di un cluster eliminato può essere riutilizzato.
- SIZE: obbligatorio. Numero di nodi nel gruppo di nodi.
- NODE_GROUP_ID: facoltativo e consigliato. L'ID deve essere univoco all'interno del cluster. Utilizza questo ID per identificare il gruppo di driver in operazioni future, ad esempio per ridimensionare il gruppo di nodi. Se non specificato, Dataproc genera l'ID gruppo di nodi.
Opzioni aggiuntive: consulta NodeGroup.
Metodo HTTP e URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION/clusters
Corpo JSON della richiesta:
{ "clusterName":"CLUSTER_NAME", "config": { "softwareConfig": { "imageVersion":"" }, "endpointConfig": { "enableHttpPortAccess": true }, "auxiliaryNodeGroups": [{ "nodeGroup":{ "roles":["DRIVER"], "nodeGroupConfig": { "numInstances": SIZE } }, "nodeGroupId": "NODE_GROUP_ID" }] } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" } ] }, }
Recupera i metadati del cluster del gruppo di nodi del driver
Puoi utilizzare il comando gcloud dataproc node-groups describe o l'API Dataproc per recuperare i metadati del gruppo di nodi del driver.
gcloud
gcloud dataproc node-groups describe NODE_GROUP_ID \ --cluster=CLUSTER_NAME \ --region=REGION
Flag obbligatori:
- NODE_GROUP_ID: puoi eseguire
gcloud dataproc clusters describe CLUSTER_NAME
per elencare l'ID gruppo di nodi. - CLUSTER_NAME: il nome del cluster.
- REGION: la regione del cluster.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: obbligatorio. ID progetto Google Cloud.
- REGION: obbligatorio. La regione del cluster.
- CLUSTER_NAME: obbligatorio. Il nome del cluster.
- NODE_GROUP_ID: obbligatorio. Puoi eseguire
gcloud dataproc clusters describe CLUSTER_NAME
per elencare l'ID gruppo di nodi.
Metodo HTTP e URL:
GET https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION/clusters/CLUSTER_NAMEnodeGroups/Node_GROUP_ID
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" } }
Ridimensiona un gruppo di nodi del driver
Puoi utilizzare il comando gcloud dataproc node-groups resize o l'API Dataproc per aggiungere o rimuovere nodi driver da un gruppo di nodi driver del cluster.
gcloud
gcloud dataproc node-groups resize NODE_GROUP_ID \ --cluster=CLUSTER_NAME \ --region=REGION \ --size=SIZE
Flag obbligatori:
- NODE_GROUP_ID: puoi eseguire
gcloud dataproc clusters describe CLUSTER_NAME
per elencare l'ID gruppo di nodi. - CLUSTER_NAME: il nome del cluster.
- REGION: la regione del cluster.
- SIZE: specifica il nuovo numero di nodi driver nel gruppo di nodi.
Flag facoltativo:
--graceful-decommission-timeout=TIMEOUT_DURATION
: quando esegui il ridimensionamento di un gruppo di nodi, puoi aggiungere questo flag per specificare un ritiro graduale TIMEOUT_DURATION per evitare l'interruzione immediata dei driver di job. Consiglio:imposta una durata del timeout almeno pari alla durata del job più lungo in esecuzione nel gruppo di nodi (il recupero dei driver non riusciti non è supportato).
Esempio: comando di scalabilità NodeGroup
gcloud CLI:
gcloud dataproc node-groups resize NODE_GROUP_ID \ --cluster=CLUSTER_NAME \ --region=REGION \ --size=4
Esempio: comando di fare lo scale down dellgcloud CLI NodeGroup
:
gcloud dataproc node-groups resize NODE_GROUP_ID \ --cluster=CLUSTER_NAME \ --region=REGION \ --size=1 \ --graceful-decommission-timeout="100s"
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: obbligatorio. ID progetto Google Cloud.
- REGION: obbligatorio. La regione del cluster.
- NODE_GROUP_ID: obbligatorio. Puoi eseguire
gcloud dataproc clusters describe CLUSTER_NAME
per elencare l'ID gruppo di nodi. - SIZE: obbligatorio. Nuovo numero di nodi nel gruppo di nodi.
- TIMEOUT_DURATION: facoltativo. Quando esegui il ridimensionamento di un gruppo di nodi,
puoi aggiungere un
gracefulDecommissionTimeout
al corpo della richiesta per evitare l'interruzione immediata dei driver di job. Consiglio:imposta una durata del timeout almeno uguale alla durata del job più lungo in esecuzione nel gruppo di nodi (il recupero dei driver non riusciti non è supportato).Esempio:
{ "size": SIZE, "gracefulDecommissionTimeout": "TIMEOUT_DURATION" }
Metodo HTTP e URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION/clusters/CLUSTER_NAME/nodeGroups/Node_GROUP_ID:resize
Corpo JSON della richiesta:
{ "size": SIZE, }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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." } }
Eliminare un cluster di gruppi di nodi del driver
Quando elimini un cluster Dataproc, i gruppi di nodi associati al cluster vengono eliminati.
Invia un job
Puoi utilizzare il comando gcloud dataproc jobs submit o l'API Dataproc per inviare un job a un cluster con un gruppo di nodi driver.
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
Flag obbligatori:
- JOB_COMMAND: specifica il comando job.
- CLUSTER_NAME: il nome del cluster.
- DRIVER_MEMORY: quantità di memoria dei driver di job in MB necessaria per eseguire un job (vedi Controlli della memoria di Yarn).
- DRIVER_VCORES: il numero di vCPU necessarie per eseguire un job.
Indicatori aggiuntivi:
- DATAPROC_FLAGS: aggiungi eventuali parametri aggiuntivi di gcloud dataproc jobs submit relativi al tipo di job.
- JOB_ARGS: aggiungi eventuali argomenti (dopo
--
) da passare al job.
Esempi: puoi eseguire i seguenti esempi da una sessione del terminale SSH su un cluster di gruppi di nodi del driver Dataproc.
Job Spark per stimare il valore di
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 per il conteggio delle parole:
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 per stimare il valore di
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
Job MapReduce TeraGen di Hadoop:
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
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: obbligatorio. ID progetto Google Cloud.
- REGION: obbligatorio. Regione del cluster Dataproc
- CLUSTER_NAME: obbligatorio. Il nome del cluster, che deve essere univoco all'interno di un progetto. Il nome deve iniziare con una lettera minuscola e può contenere fino a 51 lettere minuscole, numeri e trattini. Non può terminare con un trattino. Il nome di un cluster eliminato può essere riutilizzato.
- DRIVER_MEMORY: obbligatorio. Quantità di memoria in MB dei driver di job necessaria per eseguire un job (vedi Controlli della memoria di Yarn).
- DRIVER_VCORES: obbligatorio. Il numero di vCPU necessarie per eseguire un job.
pi
).
Metodo HTTP e URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION/jobs:submit
Corpo JSON della richiesta:
{ "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" } } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" }
Visualizza i log dei job
Per visualizzare lo stato del job e contribuire a risolvere i problemi relativi al job, puoi visualizzare i log del driver utilizzando gcloud CLI o la console Google Cloud.
gcloud
I log del driver del job vengono trasmessi in streaming all'output dell'interfaccia alla gcloud CLI o alla console Google Cloud durante l'esecuzione del job. I log del driver vengono mantenuti nel bucket di staging del cluster Dataproc in Cloud Storage.
Esegui il seguente comando gcloud CLI per elencare la posizione dei log del driver in Cloud Storage:
gcloud dataproc jobs describe JOB_ID \ --region=REGION
La posizione di Cloud Storage dei log del driver è indicata come driverOutputResourceUri
nell'output comando nel seguente formato:
driverOutputResourceUri: gs://CLUSTER_STAGING_BUCKET/google-cloud-dataproc-metainfo/CLUSTER_UUID/jobs/JOB_ID
Console
Per visualizzare i log del cluster del gruppo di nodi:
Puoi utilizzare il seguente formato di query di Esplora log per trovare i log:
Sostituisci quanto segue: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: l'ID progetto Google Cloud.
- CLUSTER_NAME: il nome del cluster.
- LOG_TYPE:
- Log utente di Yarn:
yarn-userlogs
- Log di Yarn Resource Manager:
hadoop-yarn-resourcemanager
- Log del gestore dei nodi Yarn:
hadoop-yarn-nodemanager
- Log utente di Yarn:
Monitorare le metriche
I driver dei job dei gruppi di nodi Dataproc vengono eseguiti in una dataproc-driverpool-driver-queue
coda secondaria in una partizione dataproc-driverpool
.
Metriche del gruppo di nodi del driver
La tabella seguente elenca le metriche del driver del gruppo di nodi associate, che vengono raccolte per impostazione predefinita per i gruppi di nodi del driver.
Metrica del gruppo di nodi del driver | Descrizione |
---|---|
yarn:ResourceManager:DriverPoolsQueueMetrics:AvailableMB |
La quantità di memoria disponibile in mebibyte in
dataproc-driverpool-driver-queue nella
partizione dataproc-driverpool .
|
yarn:ResourceManager:DriverPoolsQueueMetrics:PendingContainers |
Il numero di container in attesa (in coda) in
dataproc-driverpool-driver-queue nella
dataproc-driverpool partizione. |
Metriche coda secondarie
La tabella seguente elenca le metriche della coda secondaria. Le metriche vengono raccolte per impostazione predefinita per i gruppi di nodi del driver e possono essere attivate per la raccolta su qualsiasi cluster Dataproc.
Metrica coda secondaria | Descrizione |
---|---|
yarn:ResourceManager:ChildQueueMetrics:AvailableMB |
La quantità di memoria disponibile in mebibyte in questa coda nella partizione predefinita. |
yarn:ResourceManager:ChildQueueMetrics:PendingContainers |
Numero di contenitori in attesa (in coda) in questa coda nella partizione predefinita. |
yarn:ResourceManager:ChildQueueMetrics:running_0 |
Il numero di job con un tempo di esecuzione compreso tra 0 e 60 minuti
in questa coda in tutte le partizioni. |
yarn:ResourceManager:ChildQueueMetrics:running_60 |
Il numero di job con un tempo di esecuzione compreso tra 60 e 300 minuti
in questa coda in tutte le partizioni. |
yarn:ResourceManager:ChildQueueMetrics:running_300 |
Il numero di job con un tempo di esecuzione compreso tra 300 e 1440 minuti
in questa coda in tutte le partizioni. |
yarn:ResourceManager:ChildQueueMetrics:running_1440 |
Il numero di job con un tempo di esecuzione superiore a 1440 minuti
in questa coda in tutte le partizioni. |
yarn:ResourceManager:ChildQueueMetrics:AppsSubmitted |
Numero di richieste inviate a questa coda in tutte le partizioni. |
Per visualizzare YARN ChildQueueMetrics
e DriverPoolsQueueMetrics
nella console Google Cloud:
- Seleziona le risorse Istanza VM → Personalizzata in Metrics Explorer.
Debug del driver del job del gruppo di nodi
Questa sezione fornisce condizioni ed errori del gruppo di nodi del driver con consigli per correggere la condizione o l'errore.
Condizioni
Condizione:
yarn:ResourceManager:DriverPoolsQueueMetrics:AvailableMB
si sta avvicinando a0
. Ciò indica che la coda dei pool di driver del cluster sta esaurendo la memoria.Consiglio: aumenta le dimensioni del pool di conducenti.
Condizione:
yarn:ResourceManager:DriverPoolsQueueMetrics:PendingContainers
è maggiore di 0. Ciò può indicare che la coda dei pool di driver del cluster sta esaurendo la memoria e YARN sta mettendo in coda i job.Consiglio: aumenta le dimensioni del pool di conducenti.
Errori
Errore:
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.
Consiglio: imposta
driver-required-memory-mb
edriver-required-vcores
con numeri positivi.Errore:
Container exited with a non-zero exit code 137
.Consiglio: aumenta
driver-required-memory-mb
per l'utilizzo della memoria del job.