O Cloud Profiler recolhe e comunica continuamente informações sobre a utilização da CPU da aplicação e a atribuição de memória.
Requisitos:
O Profiler suporta apenas tipos de tarefas do Dataproc Hadoop e Spark (Spark, PySpark, SparkSql e SparkR).
As tarefas têm de ser executadas durante mais de 3 minutos para permitir que o Profiler recolha e carregue dados para o seu projeto.
O Dataproc reconhece cloud.profiler.enable
e as outras propriedades cloud.profiler.*
(consulte as opções do Profiler) e, em seguida, anexa as opções relevantes da JVM do Profiler às seguintes configurações:
- Spark:
spark.driver.extraJavaOptions
espark.executor.extraJavaOptions
- MapReduce:
mapreduce.task.profile
e outrasmapreduce.task.profile.*
propriedades
Ative a criação de perfis
Conclua os passos seguintes para ativar e usar o Profiler nos seus trabalhos do Dataproc Spark e Hadoop.
Crie um cluster do Dataproc com os âmbitos da conta de serviço definidos como
monitoring
para permitir que o cluster comunique com o serviço do criador de perfis.Se estiver a usar uma conta de serviço de VM personalizada, conceda a função agente do Cloud Profiler à conta de serviço de VM personalizada. Esta função contém as autorizações necessárias do serviço Profiler.
gcloud
gcloud dataproc clusters create cluster-name \ --scopes=cloud-platform \ --region=region \ other args ...
Envie uma tarefa do Dataproc com opções do Profiler
- Envie uma tarefa do Dataproc Spark ou Hadoop
com uma ou mais das seguintes opções do Profiler:
Opção Descrição Valor Obrigatório/opcional Predefinição Notas cloud.profiler.enable
Ative a criação de perfis do trabalho true
oufalse
Obrigatória false
cloud.profiler.name
Nome usado para criar o perfil no serviço Profiler profile-name Opcional UUID da tarefa do Dataproc cloud.profiler.service.version
Uma string fornecida pelo utilizador para identificar e distinguir os resultados do criador de perfis. Profiler Service Version Opcional UUID da tarefa do Dataproc mapreduce.task.profile.maps
Intervalo numérico de tarefas de mapas para o perfil (exemplo: para até 100, especifique "0-100") number range Opcional 0-10000 Aplica-se apenas a tarefas MapReduce do Hadoop mapreduce.task.profile.reduces
Intervalo numérico de tarefas de redução para criar perfis (exemplo: para até 100, especifique "0-100") number range Opcional 0-10000 Aplica-se apenas a tarefas MapReduce do Hadoop
Exemplo do PySpark
CLI do Google Cloud
Exemplo de envio de tarefa do PySpark com criação de perfis:
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
São criados dois perfis:
profiler_name-driver
para criar perfis de tarefas de condutor do Sparkprofiler_name-executor
para criar perfis de tarefas do executor do Spark
Por exemplo, se o profiler_name
for "spark_word_count_job",
são criados perfis spark_word_count_job-driver
e spark_word_count_job-executor
.
Exemplo do Hadoop
CLI gcloud
Envio de tarefas Hadoop (teragen mapreduce) com exemplo de criação de perfis:
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
Veja perfis do Profiler na consola Google Cloud .
O que se segue
- Consulte a documentação de monitorização
- Consulte a documentação de registo
- Explore a observabilidade do Google Cloud