Nesta página, mostramos como anexar hyperdisks a máquinas virtuais (VMs) em um cluster do Serviço gerenciado para Apache Spark. É possível configurar os discos de forma independente para grupos de nós mestre, de worker primário e de worker secundário. Esses discos são anexados aos nós do cluster além do disco de inicialização e de quaisquer SSDs locais anexados aos nós do cluster.
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that you have the permissions required to complete this guide.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Managed Service for Apache Spark API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that you have the permissions required to complete this guide.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Managed Service for Apache Spark API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Funções exigidas
Alguns papéis do IAM são necessários para executar os exemplos nesta página. Dependendo das políticas da organização, essas funções já podem ter sido concedidas. Para verificar as concessões de papéis, consulte Você precisa conceder papéis?.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Papéis do usuário
Para receber as permissões necessárias para criar um cluster do Managed Service for Apache Spark, peça ao administrador para conceder a você os seguintes papéis do IAM:
- Editor do Dataproc (
roles/dataproc.editor) no projeto - Usuário da conta de serviço (
roles/iam.serviceAccountUser) na conta de serviço padrão do Compute Engine
Papel de conta de serviço
Para garantir que a conta de serviço padrão do Compute Engine tenha as permissões necessárias para criar um cluster do Managed Service para Apache Spark, peça ao administrador para conceder o papel do IAM Worker do Dataproc (roles/dataproc.worker) à conta de serviço padrão do Compute Engine no projeto.
Características do disco
Os discos anexados têm as seguintes características:
- Ciclo de vida: o ciclo de vida de um disco anexado corresponde ao da VM a que ele está anexado. O Serviço Gerenciado para Apache Spark cria o disco quando cria a VM e o exclui quando exclui a VM.
- Imutabilidade: não é possível atualizar as propriedades de um disco anexado, como tamanho, IOPS ou capacidade de processamento, depois que o cluster é criado.
- Montagem e uso: o Serviço gerenciado para Apache Spark monta discos em
/mnt/N, em queNé um número inteiro positivo (por exemplo,/mnt/1,/mnt/2). O HDFS e os dados temporários, como saídas de embaralhamento, usam os discos conectados em vez do disco permanente de inicialização.
Configuração de disco
É possível especificar os seguintes parâmetros de configuração de disco ao anexar discos aos nós de cluster do Serviço Gerenciado para Apache Spark:
Tipo de disco: obrigatório. O tipo de disco a ser anexado às instâncias de VM. Os seguintes hyperdisks são compatíveis:
hyperdisk-balancedhyperdisk-extremehyperdisk-mlhyperdisk-throughput
Os discos do tipo
hyperdisk balanced high availabilitye permanentes não podem ser anexados aos nós do cluster.Tamanho (opcional): o tamanho do disco. O valor precisa ser um número inteiro seguido de um
GBpara gigabyte ouTBpara terabyte. Por exemplo,10GBanexa um disco de 10 gigabytes. Para mais informações, consulte Limites de tamanho do Hyperdisk.IOPs (opcional): indica as IOPS a serem provisionadas para o disco conectado. Esse parâmetro define o limite de operações de E/S de disco por segundo. Para mais informações, consulte Níveis de desempenho padrão.
Capacidade de processamento (opcional): indica a capacidade de processamento a ser provisionada para o disco anexado. Esse parâmetro define o limite de capacidade de processamento em
MiBpor segundo. Para mais informações, consulte Níveis de desempenho padrão.
Anexar discos a um cluster
É possível anexar discos ao criar um cluster do Serviço Gerenciado para Apache Spark usando a CLI gcloud ou a API Dataproc para especificar as configurações de disco.
CLI da gcloud
Para anexar discos ao criar um cluster, use a sinalização
--master-attached-disks,--worker-attached-disksou--secondary-worker-attached-diskscom o comandogcloud dataproc clusters create.Cada flag aceita uma lista de configurações de disco separadas por ponto e vírgula. Cada configuração de disco é uma lista separada por vírgulas de pares de chave-valor para
type,size,iopsethroughput(consulte Configuração de disco).
Exemplo: o comando a seguir cria um cluster e anexa dois hiperdiscos a cada nó de trabalho principal.
gcloud dataproc clusters create CLUSTER_NAME \
--region=REGION \
--worker-attached-disks='type=hyperdisk-balanced,size=100GB,iops=5000,throughput=200;type=hyperdisk-throughput,size=9000GB'
API
Para anexar discos, inclua uma matriz
attachedDiskConfigsno objetodiskConfigpara o grupo de instânciasmasterConfig,workerConfigousecondaryWorkerConfig.Forneça a configuração no corpo de uma solicitação da API
clusters.create.
Exemplo: o snippet JSON a seguir mostra uma matriz attachedDiskConfigs
que anexa dois hiperdiscos:
[
{
"diskType": "HYPERDISK_BALANCED",
"diskSizeGb": 100,
"provisionedIops": 5000,
"provisionedThroughput": 200
},
{
"diskType": "HYPERDISK_THROUGHPUT",
"diskSizeGb": 9000
}
]