Tipi di macchine supportati

I cluster Dataproc sono basati su Compute Engine di Compute Engine. I tipi di macchina definiscono l'hardware virtualizzato disponibili per un'istanza. Compute Engine offre sia tipi di macchine tipi di macchine personalizzate. I cluster Dataproc possono usare tipi sia predefiniti che personalizzati sia sui nodi master che su quelli worker.

I cluster Dataproc supportano le seguenti configurazioni predefinite di Compute Engine di macchine (la disponibilità dei tipo di macchina varia region):

  • Tipi di macchine per uso generico, che comprendono i tipi di macchina N1, N2, N2D, E2, C4 e N4 (Dataproc supporta anche i tipi di macchine personalizzate N1, N2, N2D, E2, C4 e N4).

    Limitazioni:

    • Il tipo di macchina n1-standard-1 non è supportato per le immagini 2.0 e versioni successive (il tipo di macchina n1-standard-1 sconsigliato per le versioni precedenti alla 2.0) utilizza invece un tipo di macchina con più memoria.
    • I tipi di macchina con core condivisi non sono supportati, poiché includono i seguenti tipi di macchine non supportati:
      • E2: tipi di macchine con core condivisi e2-micro, e2-small ed e2-medium; e
      • N1: tipi di macchina con core condiviso f1-micro e g1-small.
    • Dataproc seleziona hyperdisk-balanced come tipo di disco di avvio se è selezionato il tipo di macchina C4 o N4.
  • Tipi di macchine ottimizzate per il calcolo, che includono C2 e C2D.
  • Tipi di macchine ottimizzate per la memoria che includono i tipi di macchina M1 e M2.
  • Tipi di macchine ARM, che includono Tipi di macchine T2A.
di Gemini Advanced.

Tipi di macchine personalizzate

Dataproc supporta Serie N1 tipi di macchine personalizzate.

I tipi di macchine personalizzate sono ideali per i seguenti carichi di lavoro:

  • Carichi di lavoro non adatti ai tipi di macchina predefinita.
  • Carichi di lavoro che richiedono più potenza di elaborazione o più memoria, ma non richiedono per tutti gli upgrade forniti dal livello di tipo di macchina successivo.

Ad esempio, se hai un carico di lavoro che richiede più potenza di elaborazione rispetto fornita da un'istanza n1-standard-4, ma nel passaggio successivo viene utilizzata anche una n1-standard-8 in un'istanza di servizio specifica, offre troppa capacità. Con i tipi di macchine personalizzate, puoi creare cluster Dataproc con nodi master e/o worker al centro con 6 CPU virtuali e 25 GB di memoria.

Specifica un tipo di macchina personalizzata

I tipi di macchine personalizzate utilizzano una specifica machine type speciale e sono soggetti alle limitazioni. Ad esempio: la specifica del tipo di macchina personalizzata per una VM personalizzata con 6 CPU virtuali 22,5 GB di memoria sono custom-6-23040.

I numeri nella specifica del tipo di macchina corrispondono al numero di CPU virtuali (vCPU) nella macchina (6) e la quantità di memoria (23040). La quantità di memoria viene calcolata moltiplicando la quantità di memoria in gigabyte per 1024 (vedi Esprimere la memoria in GB o MB). In questo esempio, 22,5 (GB) viene moltiplicato per 1024: 22.5 * 1024 = 23040.

Puoi utilizzare la sintassi riportata sopra per specificare il tipo di macchina personalizzata con i tuoi cluster. Puoi impostare il tipo di macchina per i nodi master o worker oppure per entrambi quando per creare un cluster. Se imposti entrambi, il nodo master può utilizzare un tipo di macchina personalizzata diverso dal tipo di macchina personalizzata utilizzato dai worker. Il tipo di macchina utilizzati da qualsiasi worker secondario seguono le impostazioni per i worker principali non può essere impostata separatamente (vedi Worker secondari: VM prerilasciabili e non prerilasciabili.

Prezzi tipo di macchina personalizzate

Prezzi tipo di macchina personalizzate si basa sulle risorse utilizzate in una macchina personalizzata. I prezzi di Dataproc vengono aggiunti al costo delle risorse di calcolo e si basano sul numero totale di CPU virtuali (vCPU) utilizzate in un cluster.

Crea un cluster Dataproc con un tipo di macchina specificato

Console

Dal riquadro Configura nodi di Dataproc Pagina Crea un cluster nella console Google Cloud, seleziona famiglia, serie e tipo di macchine nodi master e worker del cluster.

Comando g-cloud

Esegui l' gcloud dataproc clusters create con i seguenti flag per creare un cluster Dataproc con master e/o tipi di macchine worker:

  • --master-machine-type machine-type consente di impostare il tipo di macchina predefinita o personalizzata utilizzato di un'istanza VM nel tuo cluster (o istanze master se crei cluster ad alta disponibilità)
  • --worker-machine-type custom-machine-type consente di impostare il tipo di macchina predefinita o personalizzata utilizzato dal Istanze VM nel tuo cluster

Esempio:

gcloud dataproc clusters create test-cluster /
    --master-machine-type custom-6-23040 /
    --worker-machine-type custom-6-23040 /
    other args
di Gemini Advanced. Una volta avviato il cluster Dataproc, i relativi dettagli vengono visualizzati nella finestra del terminale. Di seguito è riportato un elenco di esempio parziale delle proprietà del cluster visualizzato nella finestra del terminale:
...
properties:
  distcp:mapreduce.map.java.opts: -Xmx1638m
  distcp:mapreduce.map.memory.mb: '2048'
  distcp:mapreduce.reduce.java.opts: -Xmx4915m
  distcp:mapreduce.reduce.memory.mb: '6144'
  mapred:mapreduce.map.cpu.vcores: '1'
  mapred:mapreduce.map.java.opts: -Xmx1638m
...

API REST

Per creare un cluster con tipi di macchine personalizzate, imposta la classe machineTypeUri in masterConfig e/o workerConfig InstanceGroupConfig nel cluster.create richiesta API.

Esempio:

POST /v1/projects/my-project-id/regions/is-central1/clusters/
{
  "projectId": "my-project-id",
  "clusterName": "test-cluster",
  "config": {
    "configBucket": "",
    "gceClusterConfig": {
      "subnetworkUri": "default",
      "zoneUri": "us-central1-a"
    },
    "masterConfig": {
      "numInstances": 1,
      "machineTypeUri": "n1-highmem-4",
      "diskConfig": {
        "bootDiskSizeGb": 500,
        "numLocalSsds": 0
      }
    },
    "workerConfig": {
      "numInstances": 2,
      "machineTypeUri": "n1-highmem-4",
      "diskConfig": {
        "bootDiskSizeGb": 500,
        "numLocalSsds": 0
      }
    }
  }
}

Crea un cluster Dataproc con un tipo di macchina personalizzata con memoria estesa

Dataproc supporta i tipi di macchine personalizzate memoria estesa oltre 6,5 GB per limite di vCPU (vedi Prezzi della memoria estesa).

Console

Fai clic su Estendi memoria durante la personalizzazione della memoria del tipo di macchina nel Sezione Nodo master e/o Nodi worker del riquadro Configura nodi su Dataproc Crea un cluster nella console Google Cloud.

Comando gcloud

Per creare un cluster dalla riga di comando gcloud con CPU personalizzate con memoria estesa, aggiungi un suffisso -ext al ‑‑master-machine-type e/o ‑‑worker-machine-type flag.

Esempio

Il seguente esempio della riga di comando gcloud crea un'istanza Cluster Dataproc con 1 CPU e 50 GB di memoria (50 * 1024 = 51200) in ciascun cluster nodo:

gcloud dataproc clusters create test-cluster /
    --master-machine-type custom-1-51200-ext /
    --worker-machine-type custom-1-51200-ext /
    other args

API

Il seguente esempio <code.instancegroupconfig< code="" dir="ltr" translate="no"></code.instancegroupconfig<> Snippet JSON da un'API REST Dataproc clusters.create specifica 1 CPU e 50 GB di memoria (50 * 1024 = 51200) in ciascun nodo:

...
    "masterConfig": {
      "numInstances": 1,
      "machineTypeUri": "custom-1-51200-ext",
    ...
    },
    "workerConfig": {
      "numInstances": 2,
      "machineTypeUri": "custom-1-51200-ext",
     ...
...

Tipi di macchine ARM

Dataproc supporta la creazione di un cluster con nodi che utilizzano tipi di macchine ARM, come il tipo di macchina T2A.

Requisiti e limitazioni:

  • L'immagine Dataproc deve essere compatibile con il chipset ARM (attualmente, è compatibile solo l'immagine Dataproc 2.1-ubuntu20-arm. con il CHIPSET ARM). Tieni presente che questa immagine non supporta molte azioni facoltative e di inizializzazione (vedi versioni di release 2.1.x).
  • Poiché occorre specificare un'immagine per un cluster, l'istanza nodi worker e worker secondari devono utilizzare un tipo di macchina ARM è compatibile con l'immagine Dataproc ARM selezionata.
  • Funzionalità Dataproc non compatibili con i tipi di macchina ARM non sono disponibili (ad esempio, SSD locali non sono supportati dai tipi di macchina T2A).

Crea un cluster Dataproc con un tipo di macchina ARM

Console

Attualmente, la console Google Cloud non supporta la creazione di un cluster di tipo di macchina Dataproc ARM.

gcloud

Per creare un cluster Dataproc che utilizza ARM t2a-standard-4 di tipo di macchina, esegui questo comando gcloud in locale in una finestra del terminale Cloud Shell

gcloud dataproc clusters create cluster-name \
    --region=REGION \
    --image-version=2.1-ubuntu20-arm \
    --master-machine-type=t2a-standard-4 \
    --worker-machine-type=t2a-standard-4

Note:

  • REGION: la regione in cui si troverà il cluster.

  • Le immagini ARM sono disponibili a partire da 2.1.18-ubuntu20-arm.

  • Consulta gcloud dataproc clusters create documentazione di riferimento per informazioni sui flag aggiuntivi della riga di comando per personalizzare il cluster.

  • *-arm images supportano solo i componenti installati e quanto segue i componenti facoltativi elencati nel Pagina Versioni di release 2.1.x (i restanti 2.1 componenti facoltativi e tutte le azioni di inizializzazione" presenti nella pagina non sono supportati):

API

Il seguente esempio di API REST Dataproc clusters.create crea un cluster di tipo di macchina ARM.

POST /v1/projects/my-project-id/regions/is-central1/clusters/
{
  "projectId": "my-project-id",
  "clusterName": "sample-cluster",
  "config": {
    "configBucket": "",
    "gceClusterConfig": {
      "subnetworkUri": "default",
      "zoneUri": "us-central1-a"
    },
    "masterConfig": {
      "numInstances": 1,
      "machineTypeUri": "t2a-standard-4",
      "diskConfig": {
        "bootDiskSizeGb": 500,
      }
    },
    "workerConfig": {
      "numInstances": 2,
      "machineTypeUri": "t2a-standard-4",
      "diskConfig": {
        "bootDiskSizeGb": 500,
        "numLocalSsds": 0
      }
    },
    "softwareConfig": {
      "imageVersion": "2.1-ubuntu20-arm"
    }
  }
}

Per ulteriori informazioni