I cluster Dataproc vengono creati su istanze Compute Engine. I tipi di macchina definiscono le risorse hardware virtualizzate disponibili per un'istanza. Compute Engine offre sia tipi di macchine predefinite sia tipi di macchine personalizzate. I cluster Dataproc possono utilizzare tipi sia predefiniti che personalizzati sia per i nodi master che per i nodi worker.
I cluster Dataproc supportano i seguenti tipi di macchine predefinite di Compute Engine (la disponibilità dei tipi di macchine varia in base alla regione):
- 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 macchine con core condivisi f1-micro e g1-small.
- Dataproc seleziona
hyperdisk-balanced
come tipo di disco di avvio se il tipo di macchina è C4 o N4.
- Tipi di macchine ottimizzate per il calcolo, tra cui i tipi di macchine C2 e C2D.
- Tipi di macchine ottimizzate per la memoria che includono i tipi di macchina M1 e M2.
- Tipi di macchine ARM, tra cui i tipi di macchine T2A.
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 che non si adattano bene ai tipi di macchine predefiniti.
- 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 a quella fornita da un'istanza n1-standard-4
, ma il passaggio successivo, un'istanza n1-standard-8
, fornisce 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 utilizzato da eventuali worker secondari segue le impostazioni per i worker principali e non può essere impostato separatamente (consulta Worker secondari: VM prerilasciabili e non prerilasciabili).
Prezzi dei tipi di macchine personalizzate
Prezzi tipo di macchina personalizzate si basa sulle risorse utilizzate in una macchina personalizzata. I prezzi di Dataproc si aggiungono 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
Nel riquadro Configura nodi della pagina Dataproc Crea un cluster nella console Google Cloud, seleziona la famiglia, la serie e il tipo di macchina per i 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
... 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 } } } }
Creare un cluster Dataproc con tipo di macchina personalizzato con memoria estesa
Dataproc supporta i tipi di macchine personalizzate con memoria estesa oltre il limite di 6,5 GB per vCPU (consulta Prezzi della memoria estesa).
Console
Fai clic su Espandi memoria quando personalizzi la memoria del tipo di macchina nella sezione Nodo master e/o Nodi worker del riquadro Configura nodi nella pagina 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 di riga di comando gcloud crea un cluster Dataproc con 1 CPU e 50 GB di memoria (50 * 1024 = 51200) in ogni 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 snippet JSON di esempio <code.instancegroupconfig< code="" dir="ltr" translate="no"></code.instancegroupconfig<> da una richiesta API REST Dataproc clusters.create specifica 1 CPU e 50 GB di memoria (50 * 1024 = 51200) in ogni 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 molti componenti facoltativi e di azione di inizializzazione (consulta le versioni release 2.1.x).
- Poiché per un cluster deve essere specificata un'immagine, i nodi master, worker e worker secondari devono utilizzare un tipo di macchina ARM compatibile con l'immagine ARM Dataproc 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).
Creare un cluster Dataproc con un tipo di macchina ARM
Console
Al momento, la console Google Cloud non supporta la creazione di un cluster di tipo di macchina ARM Dataproc.
gcloud
Per creare un cluster Dataproc che utilizza il tipo di macchina ARM t2a-standard-4
, esegui il seguente comando gcloud
in locale in una finestra del terminale o in 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 la documentazione di riferimento di gcloud dataproc clusters create per informazioni su altri flag a riga di comando che puoi utilizzare per personalizzare il cluster.
*-arm images
supporta solo i componenti installati e i seguenti componenti facoltativi elencati nella pagina Versioni release 2.1.x (i restanti componenti facoltativi 2.1 e tutte le azioni di inizializzazione elencate in quella pagina non sono supportate):- Apache Hive WebHCat
- Docker
- Zookeeper (installato nei cluster ad alta disponibilità; componente facoltativo nei cluster non ad alta disponibilità)
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
- Consulta Creazione di un'istanza VM con un tipo di macchina personalizzata.
- Consulta Creare e avviare un'istanza VM Arm.