Criar um cluster usando a CLI gcloud

Nesta página, mostramos como usar a ferramenta de linha de comando gcloud da Google Cloud CLI para criar um cluster do Serviço Gerenciado para Apache Spark, executar um job do Apache Spark no cluster e modificar o número de workers no cluster.

Saiba como realizar tarefas iguais ou semelhantes com os Guias de início rápido usando o API Explorer, o console doGoogle Cloud em Criar um cluster usando o console doGoogle Cloud e as bibliotecas de cliente em Criar um cluster usando bibliotecas de cliente.

Antes de começar

  1. Instale a CLI do Google Cloud.

  2. Configure a CLI gcloud para usar sua identidade federada.

    Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.

  3. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  4. Crie ou selecione um projeto do Google Cloud .

    Papéis necessários para selecionar ou criar um projeto

    • Selecionar um projeto: para selecionar um projeto, não é necessário ter um papel específico do IAM. É possível selecionar qualquer projeto em que você tenha um papel.
    • Criar um projeto: para criar um projeto, é preciso ter o papel de Criador de projetos (roles/resourcemanager.projectCreator), que contém a permissão resourcemanager.projects.create. Saiba como conceder papéis.
    • Crie um projeto do Google Cloud :

      gcloud projects create PROJECT_ID

      Substitua PROJECT_ID por um nome para o projeto do Google Cloud que você está criando.

    • Selecione o projeto do Google Cloud que você criou:

      gcloud config set project PROJECT_ID

      Substitua PROJECT_ID pelo nome do projeto do Google Cloud .

  5. Verifique se você tem as permissões necessárias para concluir este guia.

  6. Verifique se o faturamento está ativado para o projeto do Google Cloud .

  7. Ative a API Dataproc, se ainda não estiver ativada:

    Funções necessárias para ativar APIs

    Para ativar APIs, você precisa da permissão serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de proprietário (roles/owner). Caso contrário, é possível conseguir essa permissão pelo papel de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.

    gcloud services enable dataproc.googleapis.com

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, esses papéis podem já ter sido concedidos. 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 Serviço Gerenciado para 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 Serviço Gerenciado para Apache Spark, peça ao administrador para conceder os seguintes papéis do IAM à conta de serviço padrão do Compute Engine no projeto:

Criar um cluster

Para criar um cluster chamado example-cluster, execute o seguinte comando gcloud Managed Service for Apache Spark clusters create.

.
gcloud dataproc clusters create example-cluster --region=REGION

Substitua:

REGION: especifique uma região em que o cluster será localizado.

Envie um job

Para enviar um job de amostra do Spark que calcula um valor aproximado para pi, execute o seguinte comando gcloud Serviço Gerenciado para Apache Spark jobs submit spark:

gcloud dataproc jobs submit spark --cluster example-cluster \
    --region=REGION \
    --class org.apache.spark.examples.SparkPi \
    --jars file:///usr/lib/spark/examples/jars/spark-examples.jar -- 1000

Observações:

Substitua:

REGION: especifique a região do cluster.

  • O job é executado no example-cluster.
  • O class contém o método principal para o SparkPi, que calcula um valor aproximado do aplicativo pi.
  • O arquivo jar contém o código do job. Observação: file:///usr/lib/spark/examples/jars/spark-examples.jar é um jar de amostra pré-instalado no cluster. Para jobs personalizados, especifique o arquivo jar no Cloud Storage (consulte Enviar um job).

  • 1000 é um parâmetro de job. Ele especifica o número de tarefas (iterações) que o job executa para calcular o valor de pi.

A execução do job e a resposta final são exibidas na janela do terminal:

Waiting for job output...
...
Pi is roughly 3.14118528
...
Job finished successfully.

Atualize um cluster

Para mudar o número de workers no cluster para cinco, execute este comando:

gcloud dataproc clusters update example-cluster \
    --region=REGION \
    --num-workers 5

A resposta ao comando mostra os detalhes do cluster:

workerConfig:
...
  instanceNames:
  -   example-cluster-w-0
  -   example-cluster-w-1
  -   example-cluster-w-2
  -   example-cluster-w-3
  -   example-cluster-w-4
  numInstances: 5
statusHistory:
...
-   detail: Add 3 workers.

Para diminuir o número de nós de trabalho para o valor original de 2, execute o seguinte comando:

gcloud dataproc clusters update example-cluster \
    --region=REGION \
    --num-workers 2

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.

  1. Para excluir o example-cluster, execute o comando clusters delete:
    gcloud dataproc clusters delete example-cluster \
        --region=REGION
    

A seguir