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 Managed Service for Apache Spark, executar um job do Apache Spark no cluster e modificar o número de workers no cluster.

Saiba como fazer as mesmas tarefas ou tarefas semelhantes com o Guia de início rápido sobre como usar o API Explorer, o Google Cloud console em Criar um cluster usando o Google Cloud console, e usando as bibliotecas de cliente em Criar um cluster usando bibliotecas de cliente.

Antes de começar

  1. Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos 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. Instale a Google Cloud CLI.

  3. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

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

    gcloud init
  5. Crie ou selecione um Google Cloud projeto.

    Funções necessárias para selecionar ou criar um projeto

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

      gcloud projects create PROJECT_ID

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

    • Selecione o Google Cloud projeto que você criou:

      gcloud config set project PROJECT_ID

      Substitua PROJECT_ID pelo nome do Google Cloud projeto.

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

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

  8. Ative a API Dataproc:

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de Service Usage role (roles/serviceusage.serviceUsageAdmin), que contém a serviceusage.services.enable permissão. Saiba como conceder papéis.

    gcloud services enable dataproc.googleapis.com
  9. Instale a Google Cloud CLI.

  10. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

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

    gcloud init
  12. Crie ou selecione um Google Cloud projeto.

    Funções necessárias para selecionar ou criar um projeto

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

      gcloud projects create PROJECT_ID

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

    • Selecione o Google Cloud projeto que você criou:

      gcloud config set project PROJECT_ID

      Substitua PROJECT_ID pelo nome do Google Cloud projeto.

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

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

  15. Ative a API Dataproc:

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de Service Usage role (roles/serviceusage.serviceUsageAdmin), que contém a serviceusage.services.enable permissão. 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 já podem 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 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 for Apache Spark, peça ao administrador para conceder o papel do IAM de Worker do Dataproc (roles/dataproc.worker) à conta de serviço padrão do Compute Engine no projeto.

Criar um cluster

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

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 Spark de exemplo que calcula um valor aproximado para pi, execute o seguinte comando gcloud Managed Service for 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.
  • A class contém o método principal do SparkPi, que calcula um valor aproximado de pi. do Python.
  • O arquivo jar contém o código do 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.

Atualizar um cluster

Para alterar o número de trabalhos do cluster para cinco, execute o seguinte 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 worker 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 sua Google Cloud conta pelos recursos usados nesta página, siga estas etapas.

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

A seguir