Os clusters do Dataproc são criados com base nas instâncias do Compute Engine. Os tipos de máquinas definem os recursos de hardware virtualizados que estão disponíveis para uma instância. O Compute Engine oferece todos os tipos de máquina predefinidos e tipos de máquina personalizados. Os clusters do Dataproc podem usar tipos predefinidos e personalizados para nós mestre e/ou de trabalho.
Os clusters do Dataproc são compatíveis com as seguintes Compute Engine predefinidas tipos de máquina (a disponibilidade do tipo de máquina varia region):
- Tipos de máquina de uso geral,
que incluem os tipos de máquina N1, N2, N2D, E2, C4 e N4 (Dataproc
também oferece suporte aos tipos de máquina personalizados N1, N2, N2D, E2, C4 e N4).
Limitações:
- o tipo de máquina n1-standard-1 não tem suporte para imagens 2.0+ O tipo de máquina n1-standard-1 não é recomendado para versões anteriores à 2.0 imagens. Em vez disso, use um tipo de máquina com mais memória.
- Os tipos de máquina com núcleo compartilhado não têm suporte, o que
incluem os seguintes tipos de máquina sem suporte:
- E2: tipos de máquina com núcleo compartilhado e2-micro, e2-small e e2-medium
- N1: tipos de máquina com núcleo compartilhado f1-micro e g1-small
- O Dataproc selecionará
hyperdisk-balanced
como o tipo de disco de inicialização se o tipo de máquina for C4 ou N4 estiver selecionado.
- Tipos de máquina otimizados para computação, que incluem C2 e C2D.
- Tipos de máquina com otimização de memória, que incluem tipos de máquina M1 e T2.
- Tipos de máquina ARM, que incluem Tipos de máquina T2A.
Tipos de máquina personalizados
O Dataproc oferece suporte Tipos de máquina personalizados da série N1.
Os tipos de máquina personalizados são ideais para as seguintes cargas de trabalho:
- cargas de trabalho não ideais para tipos de máquinas predefinidos;
- Cargas de trabalho que exigem mais potência de processamento ou mais memória, mas não precisam de todos os upgrades fornecidos pelo próximo nível de tipo de máquina.
Por exemplo, se você tem uma carga de trabalho que precisa de mais capacidade de processamento do que a fornecida por uma instância n1-standard-4
, mas a próxima etapa, uma instância n1-standard-8
, fornece muita capacidade. Com tipos de máquinas personalizados, você pode criar clusters do Dataproc com nodes mestre e/ou de trabalho no intervalo intermediário, com 6 CPUs virtuais e 25 GB de memória.
Especificar um tipo de máquina personalizado
Os tipos de máquina personalizados usam uma especificação machine type
especial e estão sujeitos a limitações. Por exemplo, a especificação do tipo de máquina personalizada para uma VM personalizada com seis CPUs virtuais e 22,5 GB de memória é custom-6-23040
.
Os números na especificação do tipo de máquina correspondem ao número de CPUs virtuais (vCPUs) na máquina (6
) e à quantidade de memória (23040
). A quantidade de memória é calculada multiplicando a quantidade de memória em gigabytes por 1024
(consulte Como expressar a memória em GB ou MB). Neste exemplo, 22,5 (GB) são multiplicados por 1.024: 22.5 * 1024 = 23040
.
Use a sintaxe acima para especificar o tipo de máquina personalizado com seus clusters. É possível definir o tipo de máquina para nós mestres, de trabalho ou ambos ao criar um cluster. Se você definir ambos, o nó mestre poderá usar um tipo de máquina personalizado que seja diferente do tipo de máquina personalizado usado por trabalhos. O tipo de máquina usado por qualquer worker secundário segue as configurações dos workers principais e não pode ser definido separadamente. Consulte Workers secundários: VMs preemptivas e não preemptivas.
Preços dos tipo de máquina personalizados
Os preços dos tipos de máquina personalizados são baseadoa nos recursos usados em uma máquina personalizada. Os preços do Dataproc são adicionados ao custo dos recursos de computação e são baseados no número total de CPUs virtuais (vCPUs) usado em um cluster.
Crie um cluster do Dataproc com um tipo de máquina especificado
Console
No painel Configurar nós do Dataproc Página Criar um cluster no console do Google Cloud, selecione a família, a série e o tipo de máquina do nós mestres e de trabalho do cluster.
Comando gcloud
Execute o gcloud dataproc clusters create com as sinalizações a seguir para criar um cluster do Dataproc com o mestre e/ou de trabalho:
- A sinalização
--master-machine-type machine-type
permite definir o tipo de máquina personalizado usado pela instância de VM mestre no cluster (ou instâncias mestre se você criar um cluster de alta disponibilidade - A sinalização
--worker-machine-type custom-machine-type
permite definir o tipo de máquina predefinido ou personalizado usado pelas instâncias de VM de worker no cluster
Exemplo:
gcloud dataproc clusters create test-cluster / --master-machine-type custom-6-23040 / --worker-machine-type custom-6-23040 / other args. Quando o cluster do Dataproc é iniciado, os detalhes dele são exibidos na janela de terminal. Veja a seguir um exemplo parcial de lista de propriedades do cluster na janela do terminal:
... 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
Para criar um cluster com tipos de máquinas personalizados, defina machineTypeUri
no masterConfig
e/ou workerConfig
no InstanceGroupConfig na solicitação de API cluster.create.
Exemplo:
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 } } } }
Criar um cluster do Dataproc com tipo de máquina personalizado com memória estendida
O Dataproc aceita tipos de máquina personalizados com memória estendida além do limite de 6,5 GB por vCPU. Consulte Preços estendidos de memória.
Console
Clique em Estender memória ao personalizar a memória dos tipos de máquina na Nó mestre e/ou seção "Nós de trabalho" do painel Configurar nós o Dataproc Criar um cluster no console do Google Cloud.
![](https://cdn.statically.io/img/cloud.google.com/static/dataproc/images/updated-memory-extension.png?hl=pt-br)
Comando gcloud
Para criar um cluster a partir da linha de comando gcloud com CPUs personalizadas com memória estendida, adicione um sufixo -ext
às sinalizações ‑‑master-machine-type
e/ou ‑‑worker-machine-type
.
Exemplo
A seguinte amostra da linha de comando gcloud cria um cluster do Dataproc com uma CPU e 50 GB de memória (50 * 1.024 = 51.200) em cada nó:
gcloud dataproc clusters create test-cluster / --master-machine-type custom-1-51200-ext / --worker-machine-type custom-1-51200-ext / other args
API
O exemplo a seguir <code.instancegroupconfig< code="" dir="ltr" translate="no"></code.instancegroupconfig<> Snippet JSON de uma API REST do Dataproc clusters.create solicitação especifica 1 CPU e 50 GB de memória (50 * 1024 = 51.200) em cada nó:
... "masterConfig": { "numInstances": 1, "machineTypeUri": "custom-1-51200-ext", ... }, "workerConfig": { "numInstances": 2, "machineTypeUri": "custom-1-51200-ext", ... ...
Tipos de máquina ARM
O Dataproc permite criar um cluster com nós que usam Tipos de máquina ARM, como o tipo de máquina T2A.
Requisitos e limitações:
- A imagem do Dataproc precisa ser compatível com o chipset ARM (atualmente, apenas a imagem do Dataproc 2.1-ubuntu20-arm é compatível com o CHIPSET DO ARM). Esta imagem não oferece suporte a muitas ações opcionais e de inicialização componentes (consulte versões de lançamento 2.1.x).
- Como é preciso especificar uma imagem para um cluster, de trabalho e de trabalho secundário precisam usar um tipo de máquina ARM que é compatível com a imagem do Dataproc ARM selecionada.
- Recursos do Dataproc que não são compatíveis com os tipos de máquina ARM não estão disponíveis (por exemplo, SSDs locais não são compatíveis com os tipos de máquina T2A).
Criar um cluster do Dataproc com um tipo de máquina ARM
Console
No momento, não é possível criar no console do Google Cloud de um cluster de tipo de máquina do Dataproc ARM.
gcloud
Para criar um cluster do Dataproc que usa o ARM t2a-standard-4
tipo de máquina, execute o seguinte comando gcloud
localmente em uma janela de terminal ou
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
Observações:
REGION: a região onde o cluster vai ficar.
As imagens ARM estão disponíveis a partir de
2.1.18-ubuntu20-arm
.Consulte gcloud dataproc clusters create documentação de referência para mais informações sobre sinalizações adicionais de linha de comando que você pode usar para personalizar seu cluster.
*-arm images
oferecem suporte apenas aos componentes instalados e aos seguintes componentes opcionais listados na Página Versões de lançamento 2.1.x (os componentes opcionais restantes da versão 2.1 e todas as ações de inicialização listados) na página não são suportados):- WebHCat do Apache Hive
- Docker
- Zookeeper (instalado em clusters de alta disponibilidade) componente opcional em clusters que não são de alta disponibilidade)
API
O exemplo a seguir da API REST do Dataproc clusters.create cria um cluster de tipo de máquina 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" } } }
Para mais informações
- Consulte Como criar uma instância de VM com um tipo de máquina personalizado.
- Consulte Como criar e iniciar uma instância de VM Arm.