Anexar hyperdisks a VMs do Managed Service for Apache Spark

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

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that you have the permissions required to complete this guide.

  4. Verify that billing is enabled for your Google Cloud project.

  5. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Verify that you have the permissions required to complete this guide.

  8. Verify that billing is enabled for your Google Cloud project.

  9. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

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:

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 que N é 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-balanced
    • hyperdisk-extreme
    • hyperdisk-ml
    • hyperdisk-throughput

    Os discos do tipo hyperdisk balanced high availability e 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 GB para gigabyte ou TB para terabyte. Por exemplo, 10GB anexa 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 MiB por 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-disks ou --secondary-worker-attached-disks com o comando gcloud 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, iops e throughput (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 attachedDiskConfigs no objeto diskConfig para o grupo de instâncias masterConfig, workerConfig ou secondaryWorkerConfig.

  • 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
  }
]