Gruppi di nodi driver Dataproc

Panoramica

Una risorsa Dataproc NodeGroup è un gruppo di risorse Dataproc nodi cluster 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 simultanei

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 driver può eseguire driver dell'applicazione se il nodo ha risorse sufficienti.

Vantaggi

Utilizzo di un cluster Dataproc con un nodo driver consente di:

  • Esegui la scalabilità orizzontale delle risorse del driver di job per eseguire più job simultanei
  • Scala le risorse dei driver separatamente dalle risorse 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 su true per impostazione predefinita).
  • Personalizza l'avvio del nodo 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 in Modelli di flusso di lavoro Dataproc.
  • I cluster dei gruppi di nodi non possono essere arrestati, riavviati o scalati automaticamente.
  • Il master dell'app MapReduce viene eseguito sui nodi worker. 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 principali e questa proprietà impostata sul valore predefinito valore di 100, la contemporaneità 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 driver
Riduzione del numero di 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. Fare lo scale down dei nodi worker avviene più rapidamente quando i driver vengono eseguiti su gruppi di nodi.
Output 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 driver

Le seguenti autorizzazioni IAM sono associate a Dataproc azioni correlate al gruppo di nodi.

Autorizzazione Azione
dataproc.nodeGroups.create Crea gruppi di nodi Dataproc. Se un utente ha dataproc.clusters.create nel progetto, questa autorizzazione è concesso.
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 l'interfaccia a riga di comando gcloud e l'API Dataproc per creare, recuperare, ridimensionare, eliminare e inviare un job a un gruppo di nodi driver Dataproc.

Crea un cluster del gruppo di nodi driver

Un gruppo di nodi driver è associato a un cluster Dataproc. Puoi creare un gruppo di nodi come parte 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 lettere, numeri e trattini. Non può terminare con un trattino. Il nome di un 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 necessario 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 dei 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 conducenti in futuro operazioni come il ridimensionamento del gruppo di nodi. Se non specificato, Dataproc genera l'ID gruppo di nodi.

Flag consigliato:

  • --enable-component-gateway: aggiungi questo flag per abilitare il Gateway dei componenti Dataproc, che dà accesso all'interfaccia web YARN. Le pagine dell'applicazione e dello scheduler YARN mostrano lo stato del cluster e del job, le applicazioni potrebbero mettere in coda memoria, capacità del core e altre metriche.

Flag aggiuntivi: puoi aggiungere i seguenti flag driver-pool facoltativi 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 dalla flag. Questo ID può essere utilizzato per identificare il gruppo di nodi durante l'esecuzione operazioni del pool di nodi, come il ridimensionamento 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 nell'ambito di un'API Dataproc cluster.create richiesta.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: campo obbligatorio. ID progetto Google Cloud.
  • REGION: campo 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: campo 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"
      }
    ]
  },
}

Ottieni metadati del cluster del gruppo di nodi 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: campo obbligatorio. ID progetto Google Cloud.
  • REGION: obbligatorio. La regione del cluster.
  • CLUSTER_NAME: campo obbligatorio. Il nome del cluster.
  • NODE_GROUP_ID: campo 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 delle seguenti 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 driver

Puoi utilizzare lo gcloud dataproc node-groups ridimensiona o l'API Dataproc per aggiungere o rimuovere i 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 fai lo scale down di un gruppo di nodi, puoi aggiungere questo flag per specificare ritiro gestito TIMEOUT_DURATION per evitare l'interruzione immediata dei conducenti di lavoro. 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 scale up di gcloud CLI NodeGroup:

gcloud dataproc node-groups resize NODE_GROUP_ID \
    --cluster=CLUSTER_NAME \
    --region=REGION \
    --size=4

Esempio: comando di riduzione dell'interfaccia a riga di comando gcloud 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: campo 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."
  }
}

Elimina un cluster del gruppo di nodi driver

Quando elimini un cluster Dataproc, i gruppi di nodi associati al cluster vengono eliminati.

Invia un job

Puoi utilizzare il comando gcloud dataproc job send o l'API Dataproc per invia 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 parametro job command.
  • CLUSTER_NAME: il nome del cluster.
  • DRIVER_MEMORY: quantità di memoria in MB dei driver dei job necessaria per eseguire un job (vedi Controlli della memoria di Yarn).
  • DRIVER_VCORES: il numero di vCPU necessarie per eseguire un job.

Flag 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 terminale SSH su un cluster di gruppi di nodi 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: campo obbligatorio. ID progetto Google Cloud.
  • REGION: campo 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 dei job necessaria per eseguire un job (vedi Controlli della memoria di Yarn).
  • DRIVER_VCORES: campo obbligatorio. Il numero di vCPU necessarie per eseguire un job.
Campi aggiuntivi: aggiungi altri campi correlati al tipo di prestazione e argomenti del job (la richiesta di esempio include i campi necessari per inviare che stima il valore di 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 semplificare il debug dei problemi del job, puoi visualizzare i log del conducente utilizzando gcloud CLI o la console Google Cloud.

gcloud

I log del driver del job vengono trasmessi in streaming all'output dell'interfaccia a riga di comando gcloud o alla console Google Cloud durante l'esecuzione del job. I log dei driver vengono mantenuti tra un cluster Dataproc bucket gestione temporanea in Cloud Storage.

Esegui questo comando gcloud CLI per elencare la posizione 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 del 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:

  1. Abilita il logging.

  2. Puoi utilizzare il seguente formato di query di Esplora log per trovare i log:

    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>"
    
    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto Google Cloud.
    • CLUSTER_NAME: il nome del cluster.
    • LOG_TYPE:
      • Log utente Yarn: yarn-userlogs
      • Log di Yarn Resource Manager: hadoop-yarn-resourcemanager
      • Log del gestore dei nodi Yarn: hadoop-yarn-nodemanager

Monitora le metriche

I driver dei job dei gruppi di nodi Dataproc vengono eseguiti dataproc-driverpool-driver-queue coda secondaria in dataproc-driverpool della partizione di testo.

Metriche del gruppo di nodi driver

La seguente tabella elenca le metriche del driver del gruppo di nodi associate, che vengono raccolti per impostazione predefinita per i gruppi di nodi 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 in dataproc-driverpool partizione.
yarn:ResourceManager:DriverPoolsQueueMetrics:PendingContainers Il numero di container in attesa (in coda) in dataproc-driverpool-driver-queue in dataproc-driverpool partizione.

Metriche coda secondarie

La tabella seguente elenca le metriche delle code secondarie. 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 container in attesa (in coda) in questa coda in base all'impostazione predefinita della partizione di testo.
yarn:ResourceManager:ChildQueueMetrics:running_0 Il numero di job con un runtime compreso tra 0 e 60 minuti in questa coda in tutte le partizioni.
yarn:ResourceManager:ChildQueueMetrics:running_60 Il numero di job con un runtime 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 runtime superiore a 1440 minuti in questa coda in tutte le partizioni.
yarn:ResourceManager:ChildQueueMetrics:AppsSubmitted Numero di applicazioni inviate a questa coda in tutte le partizioni.

Per visualizzare YARN ChildQueueMetrics e DriverPoolsQueueMetrics in Console Google Cloud:

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 a 0. 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 è in esecuzione memoria e YARN accoda 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 e driver-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.