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

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

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the 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 gcloud CLI, execute o seguinte comando:

    gcloud init
  5. Create or select 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.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

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

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

  8. Enable the Dataproc 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.

    gcloud services enable dataproc.googleapis.com
  9. Install the 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 gcloud CLI, execute o seguinte comando:

    gcloud init
  12. Create or select 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.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

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

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

  15. Enable the Dataproc 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.

    gcloud services enable dataproc.googleapis.com
  16. 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 Dataproc, peça ao administrador 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 Dataproc, peça ao administrador para conceder a ela o papel do IAM de Worker do Dataproc (roles/dataproc.worker) no projeto.

    Criar um cluster

    Para criar um cluster chamado example-cluster, execute o seguinte comando gcloud Dataproc 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 exemplo do Spark que calcula um valor aproximado para pi, execute o seguinte comando gcloud Dataproc 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 em example-cluster.
    • O 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 realiza 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 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 estas etapas.

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

    A seguir