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.
Saiba como fazer as mesmas tarefas ou tarefas semelhantes com os Guias de início rápido sobre como usar 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
- 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.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
Crie ou selecione um Google Cloud projeto.
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que 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 permissãoresourcemanager.projects.create. Saiba como conceder papéis.
-
Crie um projeto do Google Cloud :
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o projeto Google Cloud que você está criando. -
Selecione o projeto Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do projeto do Google Cloud .
-
Verifique se você tem as permissões necessárias para concluir este guia.
-
Verifique se o faturamento está ativado para o projeto do Google Cloud .
Ative a API Dataproc:
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 com o papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.gcloud services enable dataproc.googleapis.com
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
Crie ou selecione um Google Cloud projeto.
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que 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 permissãoresourcemanager.projects.create. Saiba como conceder papéis.
-
Crie um projeto do Google Cloud :
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o projeto Google Cloud que você está criando. -
Selecione o projeto Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do projeto do Google Cloud .
-
Verifique se você tem as permissões necessárias para concluir este guia.
-
Verifique se o faturamento está ativado para o projeto do Google Cloud .
Ative a API Dataproc:
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 com o papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o 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, 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:
- Editor do Dataproc (
roles/dataproc.editor) no projeto - Usuário da conta de serviço (
roles/iam.serviceAccountUser) na conta de serviço padrão do Compute Engine
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 os seguintes papéis do IAM à conta de serviço padrão do Compute Engine no projeto:
-
Todos:
Worker do Dataproc (
roles/dataproc.worker)
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 exemplo 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 em
example-cluster. - O
classcontém o método principal do SparkPi, que calcula um valor aproximado do aplicativopi. O arquivo JAR contém o código do job. Observação:
file:///usr/lib/spark/examples/jars/spark-examples.jaré um exemplo de jar 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 realiza para calcular o valor depi.
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 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 reduzir o número de nós de trabalho ao 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.
- Para excluir o
example-cluster, execute o comandoclusters delete:gcloud dataproc clusters delete example-cluster \ --region=REGION
A seguir
- Aprenda a gravar e executar um job do Spark Scala.