O Cloud Profiler coleta e relata continuamente o uso da CPU do aplicativo e as informações de alocação de memória.
Requisitos:
O Profiler é compatível apenas com os tipos de job do Dataproc Hadoop e Spark (Spark, PySpark, SparkSql e SparkR).
Os jobs precisam ser executados por mais de três minutos para permitir que o Profiler colete e faça upload de dados para seu projeto.
O Dataproc reconhece cloud.profiler.enable
e as outras propriedades cloud.profiler.*
(consulte Opções do criador de perfil) e, em seguida, anexa as opções relevantes da JVM do criador de perfil às seguintes configurações:
- Spark:
spark.driver.extraJavaOptions
espark.executor.extraJavaOptions
- MapReduce:
mapreduce.task.profile
e outras propriedadesmapreduce.task.profile.*
Ativar criação de perfil
Conclua as etapas a seguir para ativar e usar o Profiler nos jobs Spark e Hadoop do Dataproc.
Crie um cluster do Dataproc com escopos de conta de serviço definidos como
monitoring
para permitir que o cluster fale com o serviço de criação de perfil.Se você estiver usando uma conta de serviço de VM personalizada, conceda o papel Agente do Cloud Profiler à conta de serviço de VM personalizada. Isso contém as permissões necessárias do serviço do criador de perfil.
gcloud
gcloud dataproc clusters create cluster-name \ --scopes=cloud-platform \ --region=region \ other args ...
Enviar um job do Dataproc com as opções do Profiler
- Envie um job do Spark ou do Hadoop do Dataproc
com uma ou mais das seguintes opções do Profiler:
Opção Descrição Valor Obrigatório/Opcional Padrão Notas cloud.profiler.enable
Ativar a criação de perfil do job true
oufalse
Valor false
cloud.profiler.name
Nome usado para criar perfil no serviço Profiler profile-name Opcional UUID de job do Dataproc cloud.profiler.service.version
Uma string fornecida pelo usuário para identificar e distinguir os resultados do criador de perfil. Profiler Service Version Opcional UUID de job do Dataproc mapreduce.task.profile.maps
Intervalo numérico de tarefas de mapa para o perfil (por exemplo, para até 100, especifique "0-100") number range Opcional 0-10000 Aplica-se apenas a jobs de MapReduce do Hadoop mapreduce.task.profile.reduces
Intervalo numérico de tarefas de redutor para criar o perfil (por exemplo: até 100, especifique "0 a 100") number range Opcional 0-10000 Aplica-se apenas a jobs de MapReduce do Hadoop
Exemplo de PySpark
Google Cloud CLI
Envio de job do PySpark com exemplo de criação de perfil:
gcloud dataproc jobs submit pyspark python-job-file \ --cluster=cluster-name \ --region=region \ --properties=cloud.profiler.enable=true,cloud.profiler.name=profiler_name,cloud.profiler.service.version=version \ -- job args
Dois perfis serão criados:
profiler_name-driver
para criar o perfil das tarefas do driver Sparkprofiler_name-executor
para criar o perfil das tarefas do executor do spark.
Por exemplo, se o profiler_name
for "spark_word_count_job",
os perfis spark_word_count_job-driver
e spark_word_count_job-executor
serão criados.
Exemplo do Hadoop
CLI da gcloud
Envio de job do Hadoop (teragen mapreduce) com exemplo de criação de perfil:
gcloud dataproc jobs submit hadoop \ --cluster=cluster-name \ --region=region \ --jar=jar-file \ --properties=cloud.profiler.enable=true,cloud.profiler.name=profiler_name,cloud.profiler.service.version=version \ -- teragen 100000 gs://bucket-name
Ver perfis
Ver perfis do Profiler em no console do Google Cloud.
A seguir
- Consulte a documentação do Monitoring.
- Consulte a documentação do Logging
- Conheça a observabilidade do Google Cloud