Esta página mostra-lhe como usar a ferramenta de linha de comandos gcloud da CLI do Google Cloud para criar um cluster do Dataproc, executar uma tarefa do Apache Spark no cluster e, em seguida, modificar o número de trabalhadores no cluster.
Pode saber como realizar tarefas semelhantes ou iguais com os Inícios rápidos com o API Explorer, a Google Cloud consola em Crie um cluster do Dataproc com a Google Cloud consola, e com as bibliotecas cliente em Crie um cluster do Dataproc com bibliotecas cliente.
Antes de começar
- 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.
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith 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_IDwith your Google Cloud project name.
-
Verifique se tem as autorizações necessárias para concluir este guia.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable dataproc.googleapis.com
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith 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_IDwith your Google Cloud project name.
-
Verifique se tem as autorizações necessárias para concluir este guia.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable dataproc.googleapis.com
-
Editor do Dataproc (
roles/dataproc.editor) no projeto -
Utilizador da conta de serviço (
roles/iam.serviceAccountUser) na conta de serviço predefinida do Compute Engine - A tarefa é executada a
example-cluster. - O
classcontém o método principal para o SparkPi, que calcula um valor aproximado depi. aplicação. - O ficheiro JAR contém o código do trabalho.
1000é um parâmetro de trabalho. Especifica o número de tarefas (iterações) que o trabalho executa para calcular o valor depi.- Para eliminar o
example-cluster, execute o comandoclusters delete:gcloud dataproc clusters delete example-cluster \ --region=REGION
- Saiba como escrever e executar uma tarefa Spark Scala.
Funções necessárias
São necessárias determinadas funções de IAM para executar os exemplos nesta página. Consoante as políticas da organização, estas funções podem já ter sido concedidas. Para verificar as concessões de funções, consulte a secção Precisa de conceder funções?.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Funções do utilizador
Para receber as autorizações de que precisa para criar um cluster do Dataproc, peça ao seu administrador para lhe conceder as seguintes funções do IAM:
Função da conta de serviço
Para garantir que a conta de serviço predefinida do Compute Engine tem as autorizações necessárias para criar um cluster do Dataproc,
peça ao seu administrador para conceder à conta de serviço predefinida do Compute Engine a função de IAM
Trabalhador do Dataproc (roles/dataproc.worker)
no projeto.
Crie um cluster
Para criar um cluster denominado example-cluster, execute o seguinte comando gcloud Dataproc clusters create.
gcloud dataproc clusters create example-cluster --region=REGION
Substitua o seguinte:
REGION: especifique uma região onde o cluster vai estar localizado.
Envie um trabalho
Para enviar uma tarefa do Spark de exemplo que calcula um valor aproximado para pi, execute o comando gcloud Dataproc jobs submit spark seguinte:
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
Notas:
Substitua o seguinte:
REGION: especifique a região do cluster.
A tarefa está em execução e o resultado final é apresentado na janela do terminal:
Waiting for job output... ... Pi is roughly 3.14118528 ... Job finished successfully.
Atualize um cluster
Para alterar o número de trabalhadores no cluster para cinco, execute o seguinte comando:
gcloud dataproc clusters update example-cluster \ --region=REGION \ --num-workers 5
O resultado do comando apresenta 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 incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.